企业邮箱发送邮件失败

用公司邮箱给用户发送验证码邮件,本地发送没有问题,部署到服务器上提示发送失败,查看服务器日志发现:

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.aliyun.com, port: 465;

根据异常信息猜测应该是服务器网络问题,排查是否有白名单配置,排查后发现网络并无问题。

后来发现本地jdk版本和线上jdk版本不一样,根据这个关键点,查阅资料才弄清楚,jdk1.8在小版本升级后对SSL做了限制,禁用了一些协议,导致我们请求不通。

处理办法是找到JDK中的java.security文件,我的目录是D:\Program Files\Java\jdk1.8.0_331\jre\lib\security,然后把jdk.tls.disabledAlgorithms配置项里面的SSlv3,TLSv1和TSLv1.1删除即可。

我的修改完如下:

jdk.tls.disabledAlgorithms=RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

然后重启服务,邮件就可以发送成功啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值