近期由于项目需要,使用了org.apache.commons.email来发送邮件的功能,如下:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
本地跑的好好的,一放到阿里云上就报:
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.exmail.qq.com, 25; timeout 60000
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
检查后也ping的通,然后网上看到说是:阿里云ECS为管控垃圾邮件,屏蔽了25端口号的服务,所以导致该访问超时。
尝试使用ssl方式的465端口,修改代码如下之后成功发送邮件:
email.setSmtpPort(465);
email.setSSLOnConnect(true);