坑到吐血之——springboot发送邮件本地可以服务器不可以

正经学徒,佛系记录,不搞事情

本来今天高高兴兴,你为什么要报这样的错

状况

本地springboot项目整了一下使用 com.sun.mail 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

来发送邮件的服务,在本地做好如下配置

spring: 
    mail:
        #服务器地址
        host: smtp.qq.com
        #发送的邮箱账号
        username: [email protected]
        #授权码
        password: xxxx
        default-encoding: UTF-8
        properties:
            mail:
                debug: true
        port: 25

具体代码网上一堆一堆的,随便找了一个测试了一下,用起来也贼像我兄弟顺溜, 正高兴的打包成jar部署上服务器,结果问题来了,服务器上邮件死活发送不出去,各种尝试之下,终于发现了问题所在

解决

道听途说的解释如下:服务器上由于安全策略,不允许使用smtp协议的25端口,因此需要改成经过ssl加密的smtps协议的465端口,配置修改如下,这下顺畅了,不知你们是否遇到这样的问题

spring: 
    mail:
        #服务器地址
        host: smtp.qq.com
        #发送的邮箱账号
        username: [email protected]
        #授权码
        password: xxxx
        default-encoding: UTF-8
        properties:
            mail:
                debug: true
            smtp:
                socketFactory:
                    class: javax.net.ssl.SSLSocketFactory
        port: 465

猜你喜欢

转载自blog.csdn.net/qq_31748587/article/details/97621649