欢迎大家关注我的公众号,添加我为好友!
springboot内部集成了spring的邮件发送功能,所以在使用springboot进行邮件发送的时候需要在maven中加入以下依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
如果只是引入就能够使用的话,我就不会记录这个博客了,总结一下我遇到的问题和解决办法。
1.我是以163作为我的邮箱主机进行邮件发送的,使用163发送邮件需要开启POP3服务协议(这里会让输入账号和密码,这里输入的账号和密码才是项目里面使用的项目和密码)。
2.在“application.properties”配置文件中加入以下配置(这里需要注意的是我们的属性后面不能有空格,习惯敲空格的小伙伴需要注意一下)。
spring.mail.host=smtp.163.com
spring.mail.username=自己的邮箱
spring.mail.password=设置的密码
spring.mail.properties.smtp.auth=true
spring.mail.properties.smtp.starttls.enable=true
spring.mail.properties.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.port=465
3.在使用的时候需要注意的是我们要从“application.properties”配置文件中读取属性值,在代码中需要注意的是正确的取值方式,比如:
正确:
@Value("${spring.mail.username}")
private String from;
错误:
@Value("{spring.mail.username}")
private String from;
没发现上面代码有区别的小伙伴仔细看看哟,不要和我犯一样的错误。
4.当这些坑我一一跳出之后,却发现了没有办法给别人发送邮件,给的提示是:邮件为垃圾邮件。这个时候就需要仔细检查写的邮件内容了,我避免了比较敏感的词汇,但还是被识别为垃圾邮件,于是试着本账号给本账号发邮件,果然成功。然后试着发送给别人抄送给自己,还是出bug,接着试着给自己发,抄送给别人,没有问题。我仔细看了邮件之后发现我的标题为空,没有设置,添加上标题之后,成功发送。
总结上面的测试:
给别人发--------------------没有标题 ----------------失败(垃圾邮件)
给自己发抄送别人--------没有标题-----------------成功
给别人发抄送给自己-----没有标题-----------------失败(垃圾邮件)
给别人发-------------------- 有标题--------------------成功
PS:至于怎么发送邮件,以及怎么使用,大家可以自行学习。
欢迎大家关注我的公众号,添加我为好友!