fengzf的gravatar头像
fengzf 2022-06-14 15:57:07
Could not connect to SMTP host: smtp.gmail.com

1、背景:

SpringMVC简单发送邮件,代码部署在海外

以下为代码简单配置

Could not connect to SMTP host: smtp.gmail.com

 

Could not connect to SMTP host: smtp.gmail.com

在国内用国内的邮箱测试发邮件是没问题的,但是换成海外的邮箱发件,抛异常报错

Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1

 

Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)

 

开始怀疑是邮件服务器连接不同了,但是telnet   smtp.gmail.com. port  465 是能连得通的

 

2、原因:

465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。

 

3、解决:

加上如下代码即可

<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>

Could not connect to SMTP host: smtp.gmail.com

 

 


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
Dream_Lee  LV1 2月9日
yohohero  LV1 1月14日
秦sir3067683450  LV10 2022年12月31日
全栈小白  LV26 2022年12月26日
1105570390  LV8 2022年12月23日
80730176  LV7 2022年12月6日
wh81555  LV1 2022年11月30日
locklock  LV2 2022年9月15日
askdkashdkahsdhah  LV2 2022年7月29日
ab1068 2022年6月30日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友