java发送邮件(2)
来源:互联网 发布:linux cpu调为高性能 编辑:程序博客网 时间:2024/06/05 05:25
commons mail是对java mail的接口进行封装,使之使用起来能够更加方便,快捷。今天我们就来看看commons mail发送邮件应该怎么做呢? commons mail把java mail的接口封装成为一个抽象类org.apache.commons.mail.Email,此外Email又有四个子类分别是org.apache.commons.mail.SimpleEmail、org.apache.commons.mail.MultiPartEmail、org.apache.commons.mail.HtmlEmail和org.apache.commons.mail.ImageHtmlEmail。SimpleEmail负责发送基本的text邮件、MultiPartEmail负责发送带有附件的邮件,HtmlEmail负责发送HTML邮件,而ImageHtmlEmail则负责发送嵌有图片的邮件。 这几个类的类图如下:![这里写图片描述](http://img.blog.csdn.net/20150803225421322) 因为对java mail做了比较好的封装,所以我们不用所有的邮件服务器地址、协议、内容、发件人、收件人等等的相关信息都直接在Email的子类中设置即可,设置完之后,就可以利用其子类直接发送信息。下面我们来看看各类邮件发送的例子:一、发送简单的文本邮件
public class BasicTextMailSender { public static void main(String[] args) throws EmailException { SimpleEmail mail = new SimpleEmail(); mail.setHostName("smtp.163.com"); mail.setSmtpPort(25); mail.setAuthenticator(new DefaultAuthenticator("choukakou@163.com", "BRZJH1SJHHRHL")); mail.setSSLOnConnect(true); mail.setFrom("choukakou@163.com"); mail.setDebug(true); mail.setSubject("commons simple mail test"); mail.setMsg("This is a mail sended by commons mail"); mail.addTo("zhao.jiahong@yahoo.com"); mail.send(); }}
二、发送HTML邮件
public class HtmlEmailSender { public static void main(String[] args) throws EmailException, MalformedURLException { HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.163.com"); email.setFrom("choukakou@163.com", "me"); email.setDebug(true); email.setSubject("attachment mail test"); email.addTo("zhao.jiahong@yahoo.com"); email.setAuthenticator(new DefaultAuthenticator("choukakou@163.com", "BRZJH1SJHHRHL")); URL url = new URL("http://pic.mmfile.net/2014/08/20140815mt05.jpg"); String cid = email.embed(url, "beauty"); email.setHtmlMsg("<html>beauty -<img src=\"cid:" + cid + "\"></html>"); email.setTextMsg("your client does not support html messages"); email.send(); }}
三、发送嵌入图片的邮件
public class HtmlWithImageEmailSender { public static void main(String[] args) throws MalformedURLException, EmailException { String htmlEmailTemplate = "...<img src=\"http://pic.mmfile.net/2014/10/30t01.jpg\"..."; URL url = new URL("http://pic.mmfile.net"); ImageHtmlEmail email = new ImageHtmlEmail(); email.setDataSourceResolver(new DataSourceUrlResolver(url)); email.setHostName("smtp.qq.com"); email.setFrom("249745552@qq.com", "me"); email.setDebug(true); email.setSubject("attachment mail test"); email.addTo("zhao.jiahong@yahoo.com"); email.setAuthenticator(new DefaultAuthenticator("249745552@qq.com", "linlinjiahong21")); email.setHtmlMsg(htmlEmailTemplate); email.setTextMsg("your client does not support html messages"); email.send(); }}
四、发送带有附件的邮件
public class AttachmentEmailSender { public static void main(String[] args) throws EmailException { EmailAttachment attachment = new EmailAttachment(); attachment.setPath("F:\\hello.txt"); attachment.setDescription("chou"); attachment.setDisposition(EmailAttachment.ATTACHMENT); attachment.setName("hello"); MultiPartEmail mail = new MultiPartEmail(); mail.setHostName("smtp.163.com"); mail.setSmtpPort(25); mail.setAuthenticator(new DefaultAuthenticator("choukakou@163.com", "BRZJH1SJHHRHL")); mail.setSSLOnConnect(true); mail.setFrom("choukakou@163.com", "me"); mail.setDebug(true); mail.setSubject("attachment mail test"); mail.setMsg("This is a attachment mail sended by commons mail"); mail.addTo("zhao.jiahong@yahoo.com"); mail.attach(attachment); mail.send(); }}
我们可以看出来,经过commons mail对java mail相关接口的封装,我们发送邮件将变得很简单,并且方便操作。
0 0
- java发送邮件(2)
- java发送邮件2
- Java 邮件发送[2]
- 发送邮件(java)
- 发送邮件(2)
- java 发送邮件实例2
- java发送邮件(一)
- java发送邮件(1)
- java发送邮件(3)
- java发送邮件(发一封)
- Java发送邮件(二)
- 基于JavaMail的Java邮件发送(简单邮件发送)
- 基于JavaMail的Java邮件发送(复杂邮件发送)
- java发送邮件(javaMail通过SMTP发送邮件)
- [java]Java发送邮件
- java 邮件发送 --- 简单的邮件发送
- JAVA发送邮件及springboot发送邮件
- java mail 实践二(邮件发送)
- securityoverridehacking challenge 解题思路汇总——Advanced
- 关闭Android 应用的三种方法
- BootStrap输入框组
- poj 1741 树分治入门
- 8天学通MongoDB——第二天 细说增删查改
- java发送邮件(2)
- 5、C语言和设计模式(之组合模式)
- Servlet3.0中使用注解配置Servlet
- Adapter
- 8天学通MongoDB——第三天 细说高级操作
- Android绘图Canvas、Paint类基本用法
- 线程池ThreadPoolEXecutor
- SPOJ QTREE Query on a tree (树链剖分)
- Hibernate中Criteria的完整用法