SAP NetWeaver CE中实现邮件的发送功能

本文介绍了如何在 SAP NetWeaver CE 中实现邮件发送功能,包括使用 Jakarta Common Email 包和 CE 自带的邮件功能。详细步骤涉及配置 SMTP 服务器,创建邮件体,设置收件人、发件人以及发送邮件的完整代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 使用开源的Jarkata Common Email包,来实现发送邮件。(例子网上多的很,如http://www.blogjava.net/bluebear2007/archive/2008/01/25/177619.html

另外这里意味着使用第三方Jar包,我们需要建立第三方lib工程,这个在下一篇博客里写。


二、 使用SAP NetWeaver CE自带的Email功能。

1. 配置SMTP邮件服务器地址

(1) 进入NWA控制台 选择Configuration Management -> Infrastructure -> Java SystemProperties 


(2) 选中CE_Complete_Stack_production_full, Detail面板中选择Services,搜索javaMailClient,设置它的Smtp的地址为要使用的邮件服务器的地址(222.128.29.xxx)就可以了。




2. 进行代码编程:

(1) 声明javamail的Session对象
在J2EE 5环境中,可以直接声明JavaMail的Session对象
@Resource(name="mail/myMailSession")
private javax.mail.Session mailSession;


(2) 创建邮件体
邮件体由类MimeMessage实现
MimeMessage message = new MimeMessage(mailSession);


MimeMessage有以下常用方法:
setSubject – 设置邮件主题
setContent – 设置邮件正文
setRecipients – 设置收件人、抄送、暗送等信息
addForm – 设置发件人


以下是创建邮件体的代码:
MimeMessage message = new MimeMessage(mailSession);   // 创建邮件
message.setSubject("xxxxx","UTF-8");       // 设置主题
message.setContent("xxx报销系统. ","text/plain;charset=UTF-8");       // 设置邮件内容,此邮件为纯文本邮件,换行符为\n
message.setRecipients(javax.mail.Message.RecipientType.TO, "xxxxx@dbic.com.cn");                         //  设置收件人
InternetAddress[] to = new InternetAddress[]{new InternetAddress("xxxxx@dbic.com.cn","xxxx费用报销系统","UTF-8")};            //  设置发件人地址
message.addFrom(to);                               // 设置发件人


(3) 连接服务器,发送邮件体
发送邮件通过类Transport实现
代码:
Transport tr ;
tr = mailSession.getTransport("smtp");
tr.connect();      // SMTP服务器要由系统管理员在NWA中事先配置好
tr.sendMessage(message, message.getAllRecipients());


完整代码示例:

public static boolean sendEmail(String subject,String content,String sendEmail, String[] reciverEmail) throws Exception{

try {
Context ctx = new InitialContext();
javax.mail.Session mailSession = (javax.mail.Session)ctx.lookup("java:comp/env/mail/MailSession");
MimeMessage message = new MimeMessage(mailSession);   // 创建邮件

//设置主题
message.setSubject(subject,"UTF-8");
//设置内容
   message.setContent(content,"text/html;charset=UTF-8"); 
   
   //收件人地址
   for (int i = 0; i < reciverEmail.length; i++){
    message.addRecipient(javax.mail.Message.RecipientType.TO,new InternetAddress(reciverEmail[i])); 
   }
   
   //发件人地字
InternetAddress[] to = new InternetAddress[]{new InternetAddress(sendEmail)
message.addFrom(to);

//发件时间
message.setSentDate(new Date(System.currentTimeMillis()));
          
Transport tr = mailSession.getTransport("smtp");  // 这里的smtp在NWA控制台已经配置
tr.connect();     
tr.sendMessage(message, message.getAllRecipients());
return true;
} catch (MessagingException e) {
logger.error("发送邮件 "+subject+"失败", e);
e.printStackTrace();
return false;
}  
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值