Skip to Content
author's profile photo Former Member
Former Member

How to send a mail with an attatchment with it

Hi frienz, in my requirement I am asked to write a code to send an e-mail to the mentioned receivers once after the task is completed. If needed the program should send the attatchment also. Pls give some suggestions on this requirement.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Oct 21, 2007 at 05:54 PM

    Hi,

    Check the following code.

    &----


    *& Form f_send_mail

    &----


    • text

    ----


    • --> p1 text

    • <-- p2 text

    ----


    FORM f_send_mail .

    DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.

    DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.

    DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.

    DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.

    DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE.

    DATA: doc_chng LIKE sodocchgi1.

    DATA: tab_lines LIKE sy-tabix.

    *store the vendor name, vendor email id , employee name and employee

    *email id in the internal table int_crb

    • Creation of the document to be sent

    CLEAR doc_chng.

    REFRESH objpack.

    REFRESH objhead.

    REFRESH reclist.

    REFRESH objtxt.

    • File Name

    doc_chng-obj_name = 'SHIPMENT'.

    • Mail Subject

    CONCATENATE 'Shipment Document No.' int_crb_mail-shipdocnum

    'Cleared.'

    INTO doc_chng-obj_descr SEPARATED BY ' '.

    • Mail Contents

    objtxt-line = 'Hi,'.

    APPEND objtxt.

    objtxt-line = ' '.

    APPEND objtxt.

    CONCATENATE 'Shipment Document Number ' int_crb_mail-shipdocnum

    ' cleared for move.' INTO objtxt-line SEPARATED BY ' '.

    APPEND objtxt.

    objtxt-line = ' '.

    APPEND objtxt.

    CLEAR objtxt.

    objtxt-line = 'Regards '.

    APPEND objtxt.

    objtxt-line = ' '.

    APPEND objtxt.

    objtxt-line = 'SAP '.

    APPEND objtxt.

    CLEAR objtxt.

    APPEND objtxt.

    DESCRIBE TABLE objtxt LINES tab_lines.

    READ TABLE objtxt INDEX tab_lines.

    doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN(

    objtxt ).

    • Creation of the entry for the compressed document

    CLEAR objpack-transf_bin.

    objpack-head_start = 1.

    objpack-head_num = 0.

    objpack-body_start = 1.

    objpack-body_num = tab_lines.

    objpack-doc_type = 'RAW'.

    APPEND objpack.

    • Completing the recipient list

    • target recipent

    CLEAR reclist.

    reclist-receiver = int_crb_mail-empperid. "employee email ID

    "wf_empperid.

    reclist-express = 'X'.

    reclist-rec_type = 'U'.

    APPEND reclist.

    • copy recipents

    CLEAR reclist.

    reclist-receiver = int_crb_mail-smtp_addr."vendor email id

    reclist-express = 'X'.

    reclist-rec_type = 'U'.

    reclist-copy = 'X'.

    APPEND reclist.

    • Sending the document

    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

    EXPORTING

    document_data = doc_chng

    TABLES

    packing_list = objpack

    object_header = objhead

    • contents_bin = objbin

    contents_txt = objtxt

    receivers = reclist

    EXCEPTIONS

    too_many_receivers = 1

    document_not_sent = 2

    operation_no_authorization = 4

    OTHERS = 99.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 21, 2007 at 05:42 PM

    Hi Suresh,

    WELCOME TO SDN FORUM

    Mailing with Attachment by ABAP Coding

    Refer this link:

    mail-with-attachment

    FORM send_list_to_basis .

    DATA: w_path LIKE rlgrap OCCURS 0 WITH HEADER LINE,

    lt_index TYPE sy-tabix,

    doc_type(3) TYPE c,

    descr LIKE it_objpack_basis-obj_descr,

    temp_data LIKE w_path,

    temp1 TYPE string,

    tab_lines TYPE i,

    langu(15) TYPE c,

    expirydate TYPE so_obj_edt,

    L_FILE1(100).

    CONCATENATE 'C:\' sy-repid '_' sy-datum '.XLS' INTO L_FILE1.

    W_PATH-FILENAME = L_FILE1.

    APPEND w_path.

    CLEAR w_path.

    wa_doc_chng-obj_descr = 'User List not logged on for 180 days'.

    wa_doc_chng-obj_langu = 'E'.

    wa_doc_chng-obj_expdat = sy-datum.

    CLEAR w_subject.

    CONCATENATE 'Please find attached document with list of users'

    'not logged on for 180 days for client' sy-mandt

    INTO w_subject SEPARATED BY space.

    it_objtxt_basis-line = w_subject.

    APPEND it_objtxt_basis.

    CLEAR it_objtxt_basis.

    it_objtxt_basis-line = text-004.

    APPEND it_objtxt_basis.

    CLEAR it_objtxt_basis.

    CLEAR w_tab_line.

    DESCRIBE TABLE it_objtxt_basis LINES w_tab_line.

    READ TABLE it_objtxt_basis INDEX w_tab_line INTO l_cline.

    wa_doc_chng-doc_size =

    ( w_tab_line - 1 ) * 255 + STRLEN( l_cline ).

    CLEAR it_objpack_basis-transf_bin.

    it_objpack_basis-head_start = 1.

    it_objpack_basis-head_num = 0.

    it_objpack_basis-body_start = 1.

    it_objpack_basis-body_num = w_tab_line.

    it_objpack_basis-doc_type = 'RAW'.

    APPEND it_objpack_basis.

    CLEAR it_objpack_basis.

    LOOP AT w_path.

    temp1 = w_path.

    descr = w_path.

    CALL FUNCTION 'STRING_REVERSE'

    EXPORTING

    string = descr

    lang = 'E'

    IMPORTING

    rstring = descr.

    CALL FUNCTION 'STRING_SPLIT'

    EXPORTING

    delimiter = '\'

    string = descr

    IMPORTING

    head = descr

    tail = temp_data.

    CALL FUNCTION 'STRING_REVERSE'

    EXPORTING

    string = descr

    lang = 'E'

    IMPORTING

    rstring = descr.

    CALL FUNCTION 'STRING_SPLIT'

    EXPORTING

    delimiter = '.'

    string = descr

    IMPORTING

    head = temp_data

    tail = doc_type.

    CALL FUNCTION 'GUI_UPLOAD'

    EXPORTING

    filename = temp1

    filetype = 'BIN'

    header_length = 0

    read_by_line = 'X'

    replacement = '#'

    TABLES

    data_tab = it_upload.

    DESCRIBE TABLE it_upload LINES tab_lines.

    DESCRIBE TABLE it_objbin_basis LINES lt_index.

    lt_index = lt_index + 1.

    LOOP AT it_upload.

    wa_objbin_basis-line = it_upload-line.

    APPEND wa_objbin_basis TO it_objbin_basis.

    CLEAR wa_objbin_basis.

    ENDLOOP.

    it_objpack_basis-transf_bin = 'X'.

    it_objpack_basis-head_start = 0.

    it_objpack_basis-head_num = 0.

    it_objpack_basis-body_start = lt_index.

    it_objpack_basis-body_num = tab_lines.

    it_objpack_basis-doc_type = doc_type.

    it_objpack_basis-obj_descr = descr.

    it_objpack_basis-doc_size = tab_lines * 255.

    APPEND it_objpack_basis.

    CLEAR it_objpack_basis.

    ENDLOOP.

    it_reclist_basis-receiver = 'XXX@.com'.

    it_reclist_basis-rec_type = 'U'.

    APPEND it_reclist_basis.

    CLEAR it_reclist_basis.

    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

    EXPORTING

    document_data = wa_doc_chng

    put_in_outbox = 'X'

    commit_work = 'X'

    TABLES

    packing_list = it_objpack_basis

    contents_txt = it_objtxt_basis

    contents_bin = it_objbin_basis

    receivers = it_reclist_basis

    EXCEPTIONS

    too_many_receivers = 1

    document_not_sent = 2

    operation_no_authorization = 4

    OTHERS = 99.

    IF sy-subrc EQ 0.

    SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.

    ENDIF.

    ENDFORM. " send_list_to_basis

    Regards

    Anji

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.