依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
获取服务授权码
配置
spring:
mail:
host: smtp.qq.com # 邮件服务器供应商
password: xxxxxxx # 授权码
username: xxxxxx@qq.com # 授权码对应的邮箱
邮件客户端代码
@RestController
@RequestMapping("/mail")
public class MailController {
@Autowired
private JavaMailSender mailSender;
// com.sun.mail.smtp.SMTPSenderFailedException: 501 Mail from address must be same as authorization user.
// 发送人需要和配置那里的授权用户一样
private String from = "xxxxxxx@qq.com";
// 收件人邮箱
private String to = "xxxxxx@qq.com";
// 邮件标题/主题
private String subject = "Robin: invoicing-system";
// 邮件正文内容
private String context = RandomCode.generate();
@GetMapping("code")
public void code() {
SimpleMailMessage mail = new SimpleMailMessage();
mail.setFrom(from);
mail.setTo(to);
mail.setSubject(subject);
mail.setText("验证码: " + context);
mailSender.send(mail);
}
}
发送复杂邮件(html页面,附件等等)请使用MimeMessage
和MimeMessageHelper
类及相关方法。