发送邮件

原文地址:发送邮件

 

 

DATA: v_text TYPE bcsy_text, "Mail Body

v_standard_text TYPE rssce-tdname, "Standard Text Name
v_line TYPE sy-tfill, "Lines of Table
v_email TYPE adr6-smtp_addr, "Email address
v_sent_to_all TYPE os_boolean, "Send to all
r_send_request TYPE REF TO cl_bcs,
r_document TYPE REF TO cl_document_bcs,
r_recipient TYPE REF TO if_recipient_bcs.

r_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = v_text " 需要传的Text文件
i_subject = v_subject_short 邮件的主题 ).
*Set Longer Subject
CALL METHOD r_send_request->set_message_subject( v_subject_short ).

能够附加PDF文件

*Add PDF attachment
PERFORM add_attachment_sa CHANGING v_bin_filesize v_pdf_xstring.
v_pdf_size = v_bin_filesize.
v_pdf_content = cl_document_bcs=>xstring_to_solix(
ip_xstring = v_pdf_xstring ).

r_document->add_attachment(
i_attachment_type = 'PDF'
i_attachment_subject = 'SA PDF'
i_attachment_size = v_pdf_size
i_att_content_hex = v_pdf_content ).


*add document to send request
CALL METHOD r_send_request->set_document( r_document ).

*--------- add recipient (e-mail address) -----------------------
*create recipient - please replace e-mail address !!!
CLEAR wa_email.
LOOP AT im_apvl_user INTO wa_email.
IF wa_email-email IS NOT INITIAL.
r_recipient = cl_cam_address_bcs=>create_internet_address(
wa_email-email ).
*add recipient with its respective attributes to send request
CALL METHOD r_send_request->add_recipient
EXPORTING
i_recipient = r_recipient
i_express = c_x.
ENDIF.
ENDLOOP.

*---------- send document ---------------------------------------
CALL METHOD r_send_request->send(
EXPORTING
i_with_error_screen = c_x
RECEIVING
result = v_sent_to_all ).

COMMIT WORK.

* -----------------------------------------------------------
* * exception handling
* -----------------------------------------------------------
* * replace this very rudimentary exception handling
* * with your own one !!!
* -----------------------------------------------------------
CATCH cx_bcs INTO r_bcs_exception.
EXIT.
ENDTRY.

邮件发送后可以用t-code:SOST来进行监控

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 HtmlEmail 发送邮件的示例代码: ```java import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; public class HtmlEmailDemo { public static void main(String[] args) { String smtpServer = "smtp.163.com"; // 邮件服务器的地址 String username = "yourusername"; // 发件人的账号 String password = "yourpassword"; // 发件人的密码 String fromAddress = "yourusername@163.com"; // 发件人的邮箱地址 String toAddress = "recipient@example.com"; // 收件人的邮箱地址 String subject = "测试邮件主题"; // 邮件的主题 String content = "<html><body><h1>测试邮件内容</h1><p>这是一封测试邮件。</p></body></html>"; // 邮件的内容,支持 HTML 格式 HtmlEmail email = new HtmlEmail(); email.setHostName(smtpServer); email.setAuthentication(username, password); email.setCharset("utf-8"); try { email.setFrom(fromAddress); email.addTo(toAddress); email.setSubject(subject); email.setHtmlMsg(content); email.send(); System.out.println("邮件发送成功!"); } catch (EmailException e) { e.printStackTrace(); System.out.println("邮件发送失败!"); } } } ``` 需要注意的是,使用 HtmlEmail 发送邮件需要引入 Apache Commons Email 的依赖库。在 Maven 中,可以在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5</version> </dependency> ``` 另外,本示例中使用的是 163 邮箱作为邮件服务器,如果需要使用其他邮箱,需要将 `smtpServer` 和 `fromAddress` 的值替换为对应的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值