SpringBoot开发案例之邮件发不出去了

2019-12-09 18:29:52 浏览数 (1)

前言

纯粹为了记录,如果,恰巧与你遇到的是一个问题,可以通过以下方法解决你的问题,那么对于你我来说都是一件非常开心的事情。

问题

内网IT部门给了一个邮箱账号,不需要使用密码就可以在内网发送邮件,当然只能发内部企业邮件,企鹅、163之类的是不可以的。

发送邮件用的 starter 版本如下,请对号入座:

代码语言:javascript复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>1.5.10.RELEASE</version>
</dependency>

邮件配置:

代码语言:javascript复制
spring.mail.host=smtp.52itstyle.com
spring.mail.username=admin@52itstyle.com
spring.mail.password=
# 既然不需要密码,设置为 false 即可
spring.mail.properties.mail.smtp.auth=flase
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

报错:

代码语言:javascript复制
Could not convert socket to TLS;

不能把socket解析为TLS,我们只需要把当前 smtp host 设为可信任即可。

代码语言:javascript复制
# 这里设置信任
spring.mail.properties.mail.smtp.ssl.trust=smtp.52itstyle.com

继续报错:

代码语言:javascript复制
535 5.7.3 Authentication unsuccessful

最终配置:

代码语言:javascript复制
spring.mail.host=smtp.52itstyle.com
spring.mail.username=admin@52itstyle.com
# 内网发送把密码去掉就可以
#spring.mail.password=
spring.mail.properties.mail.smtp.auth=flase
spring.mail.properties.mail.smtp.ssl.trust=smtp.52itstyle.com
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

小结

皆大欢喜

0 人点赞