更多请在Java技术栈微信公众号后台回复关键字:boot。
1、添加依赖
在 Maven pom.xml 配置文件中加入 spring-boot-starter-mail 依赖。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>
2、添加配置参数
然后在 application.properties 文件中加入以下配置。
spring.mail.host=smtp.exmail.qq.com spring.mail.username=admin@javastack.cn spring.mail.password=123456# 启动SSL时的配置spring.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory spring.mail.smtp.socketFactory.fallback=falsespring.mail.smtp.socketFactory.port=465
3、一个简单的发送邮件例子
写一个控制器,写一个简单的发送邮件的小例子,发送成功返回 true,发送失败返回 false。
@Autowiredprivate JavaMailSender javaMailSender;@RequestMapping("/sendEmail")@ResponseBodypublic boolean sendEmail() {
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom("admin@javastack.cn");
msg.setBcc();
msg.setTo("admin@javastack.cn");
msg.setSubject("Java技术栈投稿");
msg.setText("技术分享"); try {
javaMailSender.send(msg);
} catch (MailException ex) {
System.err.println(ex.getMessage()); return false;
} return true;
}4、自动配置都做了什么?
Spring Boot 发现类路径下有这个 spring-boot-starter-mail 包和 spring.mail.host 参数就会自动配置 JavaMailSenderImpl。
上面那些 spring.mail.xx 参数用来装配 MailProperties 这个类。
org.springframework.boot.autoconfigure.mail.MailProperties
自动配置类:
org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration

image
org.springframework.boot.autoconfigure.mail.MailSenderPropertiesConfiguration

image
作者:Java技术栈
链接:https://www.jianshu.com/p/91204713d8b1
随时随地看视频