SMTP服务器地址
SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。
1:SMTP协议
通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。
2:POP3协议
通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
测试实现代码
public static void main(String[] args) {
try {
// 创建Properties 类用于记录邮箱的一些属性
Properties props = new Properties();
// 表示SMTP发送邮件,必须进行身份验证
props.put("mail.smtp.auth", "true");
//此处填写SMTP服务器
props.put("mail.smtp.host", "smtp.qq.com");
//端口号,QQ邮箱端口587
props.put("mail.smtp.port", "25");
props.put("mail.smtp.starttls.enable", "true");
// 此处填写,写信人的账号
props.put("mail.user", "*****@qq.com");
// 此处填写16位STMP口令
props.put("mail.password", "*******");
// 构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// 用户名、密码
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
// 使用环境属性和授权信息,创建邮件会话
Session mailSession = Session.getInstance(props, authenticator);
// 创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
// 设置发件人
InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
message.setFrom(form);
// 设置单个收件人的邮箱
/**InternetAddress to = new InternetAddress(recipient);
message.setRecipient(MimeMessage.RecipientType.TO, to);**/
// 设置多个收件人的邮箱
String toUser = "*****@qq.com,*****@qq.com";
if (null != toUser && !toUser.isEmpty()) {
@SuppressWarnings("static-access")
InternetAddress[] internetAddressTo = new InternetAddress().parse(toUser);
message.setRecipients(Message.RecipientType.TO, internetAddressTo);
}
// 设置邮件标题
message.setSubject("测试");
// 设置邮件的内容体
message.setContent("测试内容", "text/html;charset=UTF-8");
try {
// 最后当然就是发送邮件啦
Transport.send(message);
System.out.println("***************邮件发送成功***************");
} catch (MailConnectException m) {
m.getMessage();
System.out.println(m.getMessage() + " 邮件发送连接超时");
}
} catch (MessagingException e) {
e.printStackTrace();
}
}