cancel
Showing results for 
Search instead for 
Did you mean: 

Sending mail

Former Member
0 Kudos

while tryign to send email to external mail id, its not being sent to the recepiient. The mail is listed in SOST transaction. When i executed it again, its showing (red icon )error.

Attachign the code:

CLASS cl_bcs DEFINITION LOAD.

   DATA:

     lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.

   lo_send_request = cl_bcs=>create_persistent( ).

* Message body and subject

   DATA:

   lt_message_body TYPE bcsy_text VALUE IS INITIAL,

   lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.

   APPEND 'Dear,' TO lt_message_body.

   APPEND ' ' TO lt_message_body.

   APPEND 'Please fill the attached form and send it back to us.'

   TO lt_message_body.

   APPEND 'URL' TO lt_message_body.

   APPEND 'Thank You,' TO lt_message_body.

   lo_document = cl_document_bcs=>create_document(

   i_type = 'RAW'

   i_text = lt_message_body

   i_subject = 'Personnel Information Form' ).

   DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.

* Pass the document to send request

   lo_send_request->set_document( lo_document ).

* Create sender

   DATA:

   lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,

   l_send TYPE adr6-smtp_addr VALUE 'SENDER_ID',

   l_reci TYPE adr6-smtp_addr.

   l_reci = '<mail id>. "Approver's email address

*  lo_sender = cl_cam_address_bcs=>create_internet_address( l_send ).

   lo_sender = cl_sapuser_bcs=>create( sy-uname ).

* Set sender

   lo_send_request->set_sender(

   EXPORTING

   i_sender = lo_sender ).

* create recipient

   DATA:

   lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.

   lo_recipient = cl_cam_address_bcs=>create_internet_address( l_reci ).

** Set recipient

   lo_send_request->add_recipient(

   EXPORTING

   i_recipient = lo_recipient

   i_express = 'X' ).

*  lo_send_request->add_recipient(

*  EXPORTING

*  i_recipient = lo_recipient

*  i_express = 'X' ).* Send email

   DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.

   lo_send_request->send(

   EXPORTING

   i_with_error_screen = 'X'

   RECEIVING

   result = lv_sent_to_all ).

   COMMIT WORK.


Kindly help

Accepted Solutions (0)

Answers (2)

Answers (2)

naveen_kumar82
Explorer
0 Kudos

Hello Ashly,

Email is displayed in SOST and is not transmitted to the receiver, then the receiver email address may not be maintained in transaction SCOT. Usally Security or Basis team can add these email addresses under SMTP node in SCOT.

The other possibility could be a background job scheduled by basis should run frequently to send these email out.

Thanks,

Naveen

nishantbansal91
Active Contributor
0 Kudos

Dear Ashly,

I have also faced the same issue last week. When i checked my code i found the sender issue.

Please check the sender address,

You have mentioned here SY-UNAME, but in idle case it should be WF-BATCH.

  lo_sender = cl_sapuser_bcs=>create( sy-uname )


Please check, if error still persist let us know.


Thanks

Nishant