当前位置:首页 > 全部子站 > IT > 思科认证

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

来源:长理培训发布时间:2017-12-22 09:17:12

 利用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"。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部