Apache Commons Email
Apache的一个开源项目,是基于另一个开源项目Java Mail上进行封装的,使用起来更加简单方便:
http://commons.apache.org/proper/commons-email/index.html
首先下载jar包:commons-email-1.5.jar
activation.jar mail.jar
1.简单文本邮件发送
package com.fpc.Test; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail; public class CommonsEmail { public static void sendEmail() { SimpleEmail email = new SimpleEmail(); // email.setTLS(true); //email.setSSL(true); email.setDebug(true); email.setHostName("smtp.163.com"); email.setAuthenticator(new DefaultAuthenticator("15755502569@163.com","aa892475")); try { email.setFrom("15755502569@163.com"); email.addTo("18500408772@163.com"); email.addCc("1448433741@qq.com"); email.setCharset("GB2312"); email.setSubject("2017/11/29"); email.setMsg("看到邮件速度到会议室来开会!"); email.send(); System.out.println("邮件发送成功"); } catch (EmailException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { CommonsEmail.sendEmail(); } }
注:
-
email.setHostName("smtp.163.com"); 协议主机
- 使用不同的服务商邮箱,这里的HostName需要改一下,同时安全校验也是不同的 setTLS,setSSL
- email.setDebug(true);开启debug模式,可以打印一些信息。
2.带附件的邮件发送
MultiPartEmail EmailAttachment
package com.fpc.Test; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.EmailAttachment; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.MultiPartEmail; import org.apache.commons.mail.SimpleEmail; public class CommonsEmail { public static void sendEmail() { MultiPartEmail email = new MultiPartEmail(); // email.setTLS(true); //email.setSSL(true); email.setDebug(true); email.setHostName("smtp.163.com"); email.setAuthenticator(new DefaultAuthenticator("15755502569@163.com","aa892475")); EmailAttachment attachment = new EmailAttachment(); attachment.setPath("C:\\Users\\Administrator\\Desktop\\test.xml"); attachment.setDescription(EmailAttachment.ATTACHMENT); attachment.setDescription("test xml file"); attachment.setName("test xml"); try { email.setFrom("15755502569@163.com"); email.addTo("18500408772@163.com"); email.addCc("1448433741@qq.com"); email.setCharset("GB2312"); email.setSubject("2017/11/29"); email.setMsg("看到邮件速度到会议室来开会!"); // email.attach(attachment); email.attach(attachment);//添加附件 email.send(); System.out.println("邮件发送成功"); } catch (EmailException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { CommonsEmail.sendEmail(); } }