Skip to Content
0
Former Member
Mar 29, 2013 at 01:54 PM

Email body is turned into an attachment

2855 Views

Hi!

I hope some of you might help me to find out this issue...

I made an e-mail sender, it is working properly.

I check the email in SOST, it seems OK.

But after the e-mail lands in my gmail account, the text (Apple, banana, cake) disappears from the e-mail body and it is turned into an attachment (Shopping list.HTM).

There's a new text in the email's body: "Create a standard text for the disclosures.". I found it comes from SODIS transaction, but I don't know does it cause the problem or not?

Here's the code, simply copy-paste it, it is working...

REPORT ztest_nyt.

* e-mail section
DATA: gv_mlrec TYPE so_obj_nam,
gv_sent_to_all TYPE os_boolean,
gv_email TYPE adr6-smtp_addr,
gv_subject TYPE so_obj_des,
gt_text TYPE bcsy_text,
go_send_request TYPE REF TO cl_bcs,
go_bcs_exception TYPE REF TO cx_bcs,
go_recipient TYPE REF TO if_recipient_bcs,
go_sender TYPE REF TO cl_sapuser_bcs,
go_document TYPE REF TO cl_document_bcs,
go_attachment TYPE REF TO cl_document_bcs.

DATA: lt_tline TYPE STANDARD TABLE OF tline,
ls_tline LIKE LINE OF lt_tline.
*

TRY.
"Create send request
go_send_request = cl_bcs=>create_persistent( ).

"Email FROM...
go_sender = cl_sapuser_bcs=>create( sy-uname ).
"Add sender to send request
CALL METHOD go_send_request->set_sender
EXPORTING
i_sender = go_sender.

"Email TO...
gv_email = 'xyz@gmail.com'.
go_recipient = cl_cam_address_bcs=>create_internet_address( gv_email ).
"Add recipient to send request
CALL METHOD go_send_request->add_recipient
EXPORTING
i_recipient = go_recipient
i_express = 'X'.

"Email BODY
MOVE 'Apple' TO ls_tline-tdline. APPEND ls_tline TO lt_tline.
MOVE 'Banana' TO ls_tline-tdline. APPEND ls_tline TO lt_tline.
MOVE 'Cake' TO ls_tline-tdline. APPEND ls_tline TO lt_tline.

REFRESH: gt_text.
LOOP AT lt_tline INTO ls_tline.
AT FIRST.
APPEND '<html>' TO gt_text.
ENDAT.
CONCATENATE ls_tline-tdline '<br>' INTO ls_tline-tdline.
APPEND ls_tline-tdline TO gt_text.
AT LAST.
APPEND '</html>' TO gt_text.
ENDAT.
ENDLOOP.
MOVE 'Shopping list' TO gv_subject.
go_document = cl_document_bcs=>create_document(
i_type = 'HTM'
i_text = gt_text
i_subject = gv_subject ).

"Add document to send request
CALL METHOD go_send_request->set_document( go_document ).

"Send email
CALL METHOD go_send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = gv_sent_to_all ).
IF gv_sent_to_all = 'X'.
COMMIT WORK.
ENDIF.

"Exception handling
CATCH cx_bcs INTO go_bcs_exception.
WRITE:
'Error!',
'Error type:',
go_bcs_exception->error_type.
ENDTRY.

I would like to keep my text in my e-mail body.

Thank you

Tamas