电话:0731-83595998
导航

用JavaMailAPI编写可带附件的邮件发送程序

来源: 2017-12-22 09:17

 利用Sun公司提供的JavaMail API可以很方便的开发邮件发送程序。也许你已经可以利用它来发送一段简单的文本了,但想不想使你的程序像OUTLOOK一样也能发送附件呢?在简单介绍了JavaMail之后,详细讲解了一段完整的送信的JavaBean及一个十分轻巧的servlet。 

(没有装载JavaMail API的读者,可以到此站点下载,并按照Readme.txt设置好ClassPath)

· 一、JavaMail中一些我们需要的类

1.Properties 

JavaMail需要Properties来创建一个session对象,其属性值就是发送邮件的主机,如: 

Properties props = new Properties (); 
2.Session 

所有的基于JavaMail的程序都至少需要一个或全部的对话目标。 

Session session = Session.getInstance(props, null);  
对象将把你所发送的邮件真实的反映出来。 

MimeMessage msg = new MimeMessage(session);  

邮件的发送是由Transport来完成的: 

Transport.send(msg);  

import java.util.* ; 
import javax.mail.* ; 
import javax.activation.* ; 
//定义发件人、收件人、主题等 
String from=""; 
String filename=""; 
//用于保存发送附件的文件名的集合 
//做一个可以传发件人等参数的构造 
//初始化发件人、收件人、主题等 
this.from=from; 
this.subject=subject; 
//该方法用于收集附件名 
file.addElement(fname); 
//开始发送信件的方法 
//创建Properties对象 
//创建信件服务器 
//得到默认的对话对象 
//创建一个消息,并初始化该消息的各项元素 
msg.setFrom(new InternetAddress(from)); 
msg.setRecipients(Message.RecipientType.TO,address); 
//后面的BodyPart将加入到此处创建的Multipart中 
//利用枚举器方便的遍历集合 
//检查序列中是否还有更多的对象 
MimeBodyPart mbp=new MimeBodyPart(); 
filename=efile .nextElement().toString(); 
FileDataSource fds=new FileDataSource(filename); 
mbp.setDataHandler(new DataHandler(fds)); 
mbp.setFileName(fds.getName()); 

file.removeAllElements(); 
msg.setContent(mp); 
msg.setSentDate(new Date()); 
Transport.send(msg); 
mex.printStackTrace(); 
if ((ex=mex.getNextException())!=null){ 



· 三、一个简单的servlet 

import javax.servlet.*; 
import java.io.*; 
HttpServlet implements SingleThreadModel{ 
throws ServletException { 

Req, HttpServletResponse Res) 
try{ 
Mail sendmail=newMail("zhang@263.net", 
sendmail.attachfile("table.pdf"); 
}catch(Exception e){ 

public void destroy() { 
}  

至此,你已经可以在邮件中添加附件了,而且可以是多个。像这样,将响应与逻辑相分离对代码的扩展和维护是相当有好处的。若Beans与servlet不在同一个包下,别忘了"import"。

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端