JavaEE5学习笔记04-JavaMail使用总结

上传人:我*** 文档编号:135962151 上传时间:2020-06-21 格式:DOC 页数:22 大小:468.50KB
返回 下载 相关 举报
JavaEE5学习笔记04-JavaMail使用总结_第1页
第1页 / 共22页
JavaEE5学习笔记04-JavaMail使用总结_第2页
第2页 / 共22页
JavaEE5学习笔记04-JavaMail使用总结_第3页
第3页 / 共22页
JavaEE5学习笔记04-JavaMail使用总结_第4页
第4页 / 共22页
JavaEE5学习笔记04-JavaMail使用总结_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《JavaEE5学习笔记04-JavaMail使用总结》由会员分享,可在线阅读,更多相关《JavaEE5学习笔记04-JavaMail使用总结(22页珍藏版)》请在金锄头文库上搜索。

1、JavaEE5学习笔记04-JavaMail使用总结刘岩Email:1. JavaMail简介其实利用JavaMail API发送邮件本身没什么,在Java Web系统中也可以将自己封装好的JavaMail的UtilBean作为一个模块来用。官方的解释是这样的JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Dev

2、elopment Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。一句话,如果您有时间,您愿意,完全可以利用JavaMail API开发一个山寨版的Foxmail。因为它确实为您屏蔽了底层的通讯协议、发送细节等等。2. 常用接口JavaMail常用的接口有如下几个

3、1. javax.mail.Session:代表一次邮件会话。下面就是创建了会话Session session = Session.getDefaultInstance(properties,new Authenticator() /构造服务器认证对象Overrideprotected PasswordAuthentication getPasswordAuthentication() return new PasswordAuthentication(userName, password););当然,如果使用JBoss服务的时候,则可以采用注入的方式直接获取Session。2. javax.

4、mail.Transport用于发送邮件的抽象类,它有一个SMTPTransport具体类/ 真正发送邮件Transport.send(msg);3. javax.mail.Store此类用于邮件的读取、写、监视、查找等等操作如下操作/ 使用pop3协议接收邮件URLName url = new URLName(pop3, getPop3Host(), getPop3Port(),null, getAccount(), getPassword();Store store = session.getStore(url);4. javax.mail.Folder用于组织邮件,代表邮件系统的一个文件

5、夹。获取如下:Folder inbox = getStore().getFolder(INBOX);inbox.open(Folder.READ_WRITE);5. javax.mail.MimeMessage实际的邮件对象它下属性bte content:邮件内容的字节数组InternetHeaders header:邮件的文件头对象它还有如下方法Void addFrom():设置发件人Void addHeader():设置邮件头信息Void addRecipients():增加收件地址Address getFrom():返回邮件发件人地址列表Void setContent():设置Email

6、的内容如下代码MimeMessage msg = new MimeMessage(session);6. javax.mail.Address制定人发件人、收件人地址,它也是一个抽象类,他有一个InternetAddress子类。如下/ 设置收件人/ 收件人可以是多个,所以是数组InternetAddress internetAddressTo = new InternetAddress(to),new InternetAddress() ;7. javax.mail.Multipart用于保存电子邮件的内容的容器,它定义了添加、删除、获得电子邮件内容的方法。他也是抽象类,有一个子类叫做Mim

7、eMultipart。代码如下:Multipart mp = new MimeMultipart();/ 构造正文MimeBodyPart mbpContent = new MimeBodyPart();mbpContent.setText(content);mp.addBodyPart(mbpContent);8. javax.mail.BodyPart以上代码示例出现了MimeBodyPart,他是BodyPart的子类,代表邮件内容的一部分,既可以代表邮件正文、也可以代表邮件的附件。上面是描绘了一个普通的字符串。9. javax.activation.DataHandler该类允许邮件信

8、息包含非文本的BodyPart对象,如下代码MimeBodyPart filembpContent = new MimeBodyPart();FileDataSource fds = new FileDataSource(files);filembpContent.setDataHandler(new DataHandler(fds);filembpContent.setFileName(fds.getName();mp.addBodyPart(filembpContent);10. javax.activation.FileDataSource一般是附件文件对象,可以用于给邮件增加附件。上面

9、的代码中也就是增加了一个文件附件11. javax.activation.URLaSource代表一个url的远程资源3. 发送邮件实例还是来个实例代码实在点package mail.sendSimpleMail;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Properties;import javax.activation.DataHandler;import javax.a

10、ctivation.FileDataSource;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.

11、mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;/* * 简单的发送邮件例子 * * author liuyan * */public class SendMail / 目的private String to;/ 来源private String from;/ 发送邮件

12、的服务器private String smtpServer;/ 发送端的账户private String userName;/ 发送端的密码private String password;/ 邮件主题private String subject;/ 邮件内容private String content;/ 附件List attachments = new ArrayList();public String getTo() return to;public void setTo(String to) this.to = to;public String getFrom() return from

13、;public void setFrom(String from) this.from = from;public String getSmtpServer() return smtpServer;public void setSmtpServer(String smtpServer) this.smtpServer = smtpServer;public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;public String get

14、Password() return password;public void setPassword(String password) this.password = password;public String getSubject() return subject;public void setSubject(String subject) this.subject = subject;public String getContent() return content;public void setContent(String content) this.content = content;public List getAttachments() return attachments;public void setAttachments(List att

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号