1、导入依赖
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
2、在网易邮箱申请账号,打开设置开启POP3/SMTP获取秘钥
3、邮件发送业务功能实现
@Override
public boolean sendEmail(EmailContentDTO dto) {
SysUser StudentDetail = sysUserMapper.selectById(dto.getStudentId());
if (StringUtils.isEmpty(StudentDetail.getEmail())) {
throw new RuntimeException("未找到用户邮箱!");
}
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "true");
Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
//发送人邮箱账号跟POP3秘钥
return new PasswordAuthentication("XXXXX", "XXXXXXXX");
}
};
Session session = Session.getInstance(props, auth);
Message message = new MimeMessage(session);
try {
//发送人邮件号
message.setFrom(new InternetAddress("XXXXX@163.com"));
//接收人邮箱
message.setRecipient(Message.RecipientType.TO, new InternetAddress(StudentDetail.getEmail()));
//标题
message.setSubject(dto.getTitle());
//内容
message.setContent(dto.getContent(), "text/html;charset=utf-8");
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
return true;
}