利用javamail去连接smtp协议,报错Couldn’t connect to host, port: smtp.alibaba.com, 25(阿里邮箱)

  • Post author:
  • Post category:java


做了一个邮箱系统,来收发用户的邮件。

我们使用的服务器是阿里云的服务器来部署项目。今天有个用户来我们平台绑定阿里邮箱。结果后台报错如下(在本地测试,是不报错的。):

DEBUG POP3: connecting to host "pop.alibaba.com", port 110, isSSL false
+OK AliYun POP3 v0.1.1 server ready
CAPA
+OK Capability list follows
TOP
USER
UIDL
XALIOAUTH
.
DEBUG POP3: authentication command trace suppressed
DEBUG POP3: authentication command succeeded
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "smtp.alibaba.com", port 25, isSSL false
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.alibaba.com, 25; timeout -1;
  nested exception is:
	java.net.ConnectException: Connection timed out (Connection timed out)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
	at javax.mail.Service.connect(Service.java:366)

于是猜测出现问题的原因:

1)服务器25端口没有开:这个问过运维同事,他说阿里云服务器默认自动屏蔽25端口,不让开。然后找了网上的博客,说是用465端口,以及添加SSL属性。尝试了这种办法,仍然不行。

解决办法:

1)将25端口改成80端口

2)去阿里云服务器解禁25端口,但是运维同事说:25不安全………….

参考网址:

https://blog.csdn.net/weixin_42359392/article/details/86659027



版权声明:本文为qq_26797239原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。