参考:https://github.com/wupeixuan/SpringBoot-Learn/tree/master/mail
开启smtp服务
进入邮箱 → 邮箱设置 → 客户端设置
application.yml
注意 protocol 那里要写smtps,而不是smtp
spring:
mail:
protocol: smtps
host: smtp.exmail.qq.com
port: 465
username: 你的邮箱地址
password: 你的密码
test-connection: false
properties:
mail:
smtp:
auth: false
debug: false
mime:
splitlongparameters: false
default-encoding: UTF-8
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
service
用@Value取得yml里的发信地址。
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
...
@Resource
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String sender;
public void sendSimpleMail(String from, String to, String subject, String text) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
// 发件人
simpleMailMessage.setFrom(from);
// 收件人
simpleMailMessage.setTo(to);
// 邮件主题
simpleMailMessage.setSubject(subject);
// 邮件内容
simpleMailMessage.setText(text);
javaMailSender.send(simpleMailMessage);
}
然后在controller里使用就好了!