首先确保你的邮件开启了SMTP协议,我拿QQ邮件举个例子
在你的邮箱设置里面开启最上面那个,很容易的,发条短信就好了,其他邮件也很简单去开启。
pom中添加坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
yml文件书写配置
spring:
mail:
host: smtp.qq.com
username: QQ号@qq.com //任意邮箱格式都可以,你开启协议的那个
password: ****** //你开启协议时的密码
发送邮件
email:
from: QQ号@qq.com("小可爱")
to: QQ号@qq.com
subject: 测试邮件
text: 测试邮件的正文
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@ConfigurationProperties(prefix = "email")
public class Mail {
private String from;
private String to;
private String subject;
private String text;
}
@Autowired
private Mail mail;
@Autowired
private JavaMailSender javaMailSender;
@Override
public void sendMail() throws MessagingException {
SimpleMailMessage mimeMessage = new SimpleMailMessage();
mimeMessage .setFrom(mail.getFrom());
mimeMessage .setTo(mail.getTo());
mimeMessage .setSubject(mail.getSubject());
mimeMessage .setText(mail.getText());
javaMailSender.send(mimeMessage);
}
其中from属性中后面加(“”)可以用里面的内容覆盖你的邮箱号,收邮件的时候显示的就是那个里面的内容。我是读取yml里面的内容,当然你也可以直接定义属性,可可以传参。