Envío de email externo mediante clase ABAP
-Categorías: Código útil
Aquí tenemos el código completo para envío de mails mediante clase.
Tener en cuenta que se debe configurar el servidor para que realice los envíos. Esta tarea debe realizarla un administrador del sistema.
Se debe ingresar el siguiente código fuente en la transacción SE38, como código ejecutable:
REPORT y_envio_mail.
* Declaracion de variables
DATA: go_mail_data TYPE REF TO cl_crm_email_data,
gs_mail_recipient TYPE crms_email_recipient,
gt_mail_recipients TYPE crmt_email_recipients,
lw_body TYPE crms_email_mime_struc,
gt_body TYPE crmt_email_mime_struc,
gd_request_id TYPE sysuuid_x.
* Definicion de pantalla de selección
PARAMETERS: pa_namef TYPE text255 OBLIGATORY DEFAULT 'Prueba Mail',
pa_from TYPE text255 OBLIGATORY DEFAULT 'prueba@mail.com',
pa_namet TYPE text255 OBLIGATORY DEFAULT 'Prueba Mail',
pa_to TYPE text255 OBLIGATORY DEFAULT 'prueba@mail.com',
pa_subj TYPE text255 OBLIGATORY DEFAULT 'Mail de prueba'.
START-OF-SELECTION.
* Instanciar objeto datos de mail
CREATE OBJECT go_mail_data.
* Remitente
gs_mail_recipient-name = pa_namef.
gs_mail_recipient-address = pa_from.
APPEND gs_mail_recipient TO gt_mail_recipients.
go_mail_data->from = gs_mail_recipient.
* Destinatarios
gs_mail_recipient-name = pa_namet.
gs_mail_recipient-address = pa_to.
APPEND gs_mail_recipient TO gt_mail_recipients.
go_mail_data->to = gt_mail_recipients.
* Asunto
go_mail_data->subject = pa_subj.
* Cuerpo del mail
lw_body-content_ascii = 'Cuerpo del mail de prueba. Nada en especial solo demostrar el éxito del envío'.
APPEND lw_body TO gt_body.
go_mail_data->body = gt_body.
END-OF-SELECTION.
* Enviar el e-mail
CALL METHOD cl_crm_email_utility_base=>send_email
EXPORTING
iv_mail_data = go_mail_data
RECEIVING
ev_send_request_id = gd_request_id.
IF sy-subrc = 0.
MESSAGE 'Mail enviado' TYPE 'S'.
ENDIF.
Espero sus comentarios!
Hasta la próxima