1.引入 java 对电子邮件支持的相关 jar 包
pom.xml
:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>
2.发送邮件的工具类
MailUtil.java
:
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
* 邮件工具类
*/
public class MailUtil {
/**
* 发送邮件
* @param to 给谁发
* @param subject 邮件主题
* @param content 邮件内容
*/
public static void sendMail(String to,String subject, String content) throws MessagingException {
//创建连接对象 连接到邮件服务器
Properties properties = new Properties();
//设置发送邮件的基本参数
//发送邮件服务器
properties.put("mail.smtp.host", "smtp.qq.com");
//发送端口
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.auth", "true");
//设置发送邮件的账号和密码
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
//两个参数分别是发送邮件的账户和密码(QQ邮箱则是授权码)
return new PasswordAuthentication("yotow@foxmail.com","xxx");
}
});
//创建邮件对象
Message message = new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress("yotow@foxmail.com"));
//设置收件人
message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
//设置邮件主题
message.setSubject(subject);
//设置邮件正文 第二个参数是邮件发送的类型
message.setContent(content,"text/html;charset=UTF-8");
//发送邮件
Transport.send(message);
}
}
3.发送邮件的测试代码
try {
MailUtil.sendMail("3161671737@qq.com",
"皮皮龙安全保障服务有限公司登录验证",
"本次登录验证码,60 秒内有效:" +
String.valueOf(Math.random() * 999));
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
e.printStackTrace();
}