文章轉自
http://blog.csdn.net/lyb_yt/article/details/9495207
TRY.
* 建立發送請求
l_send_request = cl_bcs=>create_persistent(
).
* 設定發送內容
l_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text
= i_content[]
I_IMPORTANCE
= '1'
i_subject
= l_subject ).
* 增加發送內容到發送請求
CALL METHOD l_send_request->set_document(
l_document ).
* 取得寄件者(取得寄件者,前提是這個郵箱地址能發郵件,並且不要求輸入密碼)
l_uname = sy-uname.
l_sender = cl_sapuser_bcs=>create(
l_uname ).
CALL METHOD l_send_request->set_sender
EXPORTING
i_sender = l_sender.
* 設定收件者
LOOP AT it_mailaccept.
CONCATENATE it_mailaccept-name
'@XXXXX.COM'
INTO i_email.
TRANSLATE i_email TO
LOWER CASE.
l_recipient = cl_cam_address_bcs=>create_internet_address(
i_email ).
CALL METHOD l_send_request->add_recipient
EXPORTING
i_recipient = l_recipient
i_express = 'X'
i_copy = ' '
i_blind_copy = ' '
i_no_forward = ' '.
ENDLOOP.
* 設定抄送人
LOOP AT it_mailaccept_copy.
CONCATENATE it_mailaccept_copy-name
'@XXXXX INTO
i_email.
TRANSLATE i_email TO
LOWER CASE.
l_recipient = cl_cam_address_bcs=>create_internet_address(
i_email ).
CALL METHOD l_send_request->add_recipient
EXPORTING
i_recipient = l_recipient
i_express = 'X'
i_copy = 'X'
i_blind_copy = ' '
i_no_forward = ' '.
ENDLOOP.
*& 立即發送
l_send_request->set_send_immediately(
'X' ).
*& 發送
CALL METHOD l_send_request->send(
).
COMMIT WORK.
CATCH cx_document_bcs INTO
l_bcs_exception.
CATCH cx_send_req_bcs INTO
l_send_exception.
CATCH cx_address_bcs INTO
l_addr_exception.
ENDTRY.