使用SimpleEmail发送邮件
记录如何使用java代码中发送邮件。
引入commons.mail包:
1
2
3
4
5<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.3.3</version>
</dependency>直接看代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28public static void sendReplyEmail(String toEmail, String title, String content) {
Runnable task = () -> {
SimpleEmail email = new SimpleEmail();
// email.setTLS(true); //是否TLS校验,,某些邮箱需要TLS安全校验,同理有SSL校验
email.setDebug(true);
email.setSSL(true);
email.setHostName("smtp.qq.com");
email.setSmtpPort(465); //qq邮箱smtp端口为465或587
email.setAuthenticator(new DefaultAuthenticator("250********@qq.com", "这里是密码"));
try {
email.setFrom("250********@qq.com"); //发送方,这里可以写多个
email.addTo(toEmail); // 接收方
//email.addCc("402******@qq.com"); // 抄送方
//email.addBcc("yuaio@163.com"); // 秘密抄送方
email.setCharset("GB2312");
email.setSubject(title); // 标题
email.setMsg(content);// 内容
email.send();
LOGGER.info("...");
} catch (EmailException e) {
e.printStackTrace();
LOGGER.info("...");
}
};
new Thread(task).start();
}其他:
想使用第三方客户端(比如这里的代码)登陆QQ邮箱,使用smtp服务发送邮件,则需要使用QQ邮箱提供的授权码。具体信息请点这里。