Java发送简单email:SimpleEmail
一、准备工作
- 未使用maven框架:导入jar包:commons-email-1.4.jar
- 使用maven框架:添加依赖
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
二、使用网易邮箱为例
1 、设置POP3/SMTP/IMAP:
-
2.获取授权码
-
二、代码
- 无附件简单邮件
public static void main(String[] args) {
try {
SimpleEmail simpleEmail = new SimpleEmail();
simpleEmail.setSmtpPort(25);
simpleEmail.setHostName("smtp.163.com");
simpleEmail.setAuthentication("XXX163@163.com", "xxx");
simpleEmail.setFrom("xxx163@163.com");
simpleEmail.addTo("yyy@qq.com");
simpleEmail.addCc("xxx163@163.com");
simpleEmail.setSubject("Test");
simpleEmail.setMsg("hello world");
simpleEmail.setCharset("utf-8");
simpleEmail.setSentDate(new Date());
simpleEmail.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
- 带附件邮件
public static void main(String[] args) {
try {
MultiPartEmail multiPartEmail = new MultiPartEmail();
multiPartEmail.setSmtpPort(587);
multiPartEmail.setHostName("smtp.qq.com");
multiPartEmail.setAuthentication("xxx@qq.com", "aaaaaa");
multiPartEmail.setFrom("xxx@qq.com");
multiPartEmail.addTo("yyy@qq.com");
multiPartEmail.setSubject("您好!");
multiPartEmail.setMsg("收到请回答!");
multiPartEmail.setCharset("utf-8");
EmailAttachment emailAttachment = new EmailAttachment();
emailAttachment.setPath("D:\\xx.png");
emailAttachment.setDescription(EmailAttachment.ATTACHMENT);
emailAttachment.setName("tempsnip.png");
multiPartEmail.attach(emailAttachment);
multiPartEmail.setSentDate(new Date());
multiPartEmail.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
三、常见异常信息(碰到后再完善!)