博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java利用commons-email发送邮件并进行封装
阅读量:4635 次
发布时间:2019-06-09

本文共 4973 字,大约阅读时间需要 16 分钟。

本例中利用commons-email发送邮件并进行封装,支持html内容和附件;Commons Email是Apache的Commons子项目下的一个邮件客户端组件,它是基于JavaMail的,大大简化了邮件的收发操作。

 

该工具类支持多个发送人,多个抄送人,多个密送人,多个附件等功能。非常强大。

  pom.xml

 

org.projectlombok
lombok
1.16.10
org.apache.commons
commons-email
1.4
View Code

 

 

 

MailInfo.java
package com.example.demo.email;import lombok.Data;import org.apache.commons.mail.EmailAttachment;import java.util.List;/** * Created by 敲代码的卡卡罗特 on 2018/3/29. */@Datapublic class MailInfo {    // 收件人    private List
toAddress = null; // 抄送人地址 private List
ccAddress = null; // 密送人 private List
bccAddress = null; // 附件信息 private List
attachments = null; // 邮件主题 private String subject; // 邮件的文本内容 private String content; public void addToAddress(String toAddress) { this.toAddress.add(toAddress); } public void addToAddress(List
toAddress) { this.toAddress.addAll(toAddress); } public void addCcAddress(List
ccAddress) { if (null != ccAddress && ccAddress.size() > 0) this.ccAddress.addAll(ccAddress); }}
View Code
 
MailUtil.java
package com.example.demo.email;import org.apache.commons.mail.EmailAttachment;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.HtmlEmail;import java.util.List;/** * Created by 敲代码的卡卡罗特 on 2018/3/29. */public class MailUtil {    //邮箱    private static String mailServerHost = "smtp.163.com";    private static String mailSenderAddress = "15515664xxx@163.com";    private static String mailSenderNick = "敲代码的卡卡罗特";    private static String mailSenderUsername = "15515664xxx@163.com";    private static String mailSenderPassword = "xxxxx";    /**     * 发送 邮件方法 (Html格式,支持附件)     *     * @return void     */    public static void sendEmail(MailInfo mailInfo) {        try {            HtmlEmail email = new HtmlEmail();            // 配置信息            email.setHostName(mailServerHost);            email.setFrom(mailSenderAddress,mailSenderNick);            email.setAuthentication(mailSenderUsername,mailSenderPassword);            email.setCharset("UTF-8");            email.setSubject(mailInfo.getSubject());            email.setHtmlMsg(mailInfo.getContent());            // 添加附件            List
attachments = mailInfo.getAttachments(); if (null != attachments && attachments.size() > 0) { for (int i = 0; i < attachments.size(); i++) { email.attach(attachments.get(i)); } } // 收件人 List
toAddress = mailInfo.getToAddress(); if (null != toAddress && toAddress.size() > 0) { for (int i = 0; i < toAddress.size(); i++) { email.addTo(toAddress.get(i)); } } // 抄送人 List
ccAddress = mailInfo.getCcAddress(); if (null != ccAddress && ccAddress.size() > 0) { for (int i = 0; i < ccAddress.size(); i++) { email.addCc(ccAddress.get(i)); } } //邮件模板 密送人 List
bccAddress = mailInfo.getBccAddress(); if (null != bccAddress && bccAddress.size() > 0) { for (int i = 0; i < bccAddress.size(); i++) { email.addBcc(ccAddress.get(i)); } } email.send(); System.out.println("邮件发送成功!"); } catch (EmailException e) { e.printStackTrace(); } }}
View Code

 

Test.java
package com.example.demo.email;import org.apache.commons.mail.EmailAttachment;import java.util.ArrayList;import java.util.List;/** * Created by 敲代码的卡卡罗特 on 2018/3/29. */public class Test {    /**     * @return void     */    public static void main(String[] args) {        MailInfo mailInfo = new MailInfo();        List
toList = new ArrayList
(); toList.add("xxx@163.com"); List
ccList = new ArrayList
(); ccList.add("xxx@163.com"); List
bccList = new ArrayList
(); bccList.add("my@163.com"); //添加附件 EmailAttachment att = new EmailAttachment(); att.setPath("E:\\liuzhonghua\\备份\\xx.txt"); att.setName("远程地址.txt"); List
atts = new ArrayList
(); atts.add(att); mailInfo.setAttachments(atts); mailInfo.setToAddress(toList);//收件人 mailInfo.setCcAddress(ccList);//抄送人 mailInfo.setBccAddress(bccList);//密送人 mailInfo.setSubject("测试主题"); mailInfo.setContent("内容:

test,测试

"); MailUtil.sendEmail(mailInfo); }}
View Code
 

 

ok,亲测可用!!!!!!
 

 

转载于:https://www.cnblogs.com/coder-lzh/p/8668667.html

你可能感兴趣的文章
detection in video and image
查看>>
Linux内核分析——可执行程序的装载
查看>>
吴裕雄--天生自然 JAVASCRIPT开发学习:DOM EventListener
查看>>
决策树模型与学习《一》
查看>>
gulp-load-task 解决 gulpfile.js 过大的问题
查看>>
我要学ASP.NET MVC 3.0(一): MVC 3.0 的新特性
查看>>
字符串循环同构的最小表示法(转)
查看>>
题目1000:计算a+b
查看>>
利用java多线程向MongoDB中批量插入静态文件
查看>>
[HNOI2002] Kathy 函数
查看>>
2016030204 - git和github结合
查看>>
九零后的五年七次工作经历
查看>>
displaytag 导出
查看>>
HttpServletResponse对象(一)
查看>>
C中文件操作的文本模式和二进制模式,到底有啥区别?
查看>>
小奇回地球
查看>>
[CF888G]Xor-MST
查看>>
[JLOI2013]地形生成
查看>>
Test on 11/10/2016
查看>>
C++ VS2013环境编译使用sqlite数据库全过程
查看>>