JavaMail 在 Linux VPS 上抛出 MailConnectException 但在 Windows 机器上本地工作

JavaMail throws MailConnectException on Linux VPS but works locally at Windows machine

我正在尝试 运行 spring 在 Linux VPS(Debian 10 版本)启动网络应用程序。

我正在使用 JavaMail api 在用户点赞页面时构建和发送欢迎消息。

在 运行 在 windows 10 台机器上本地使用 tomcat 9 时完美工作。

部署到VPStomcat9后,发送邮件出现异常

有堆栈跟踪:

 [2020-04-02 16:49:34] [info]
 org.springframework.mail.MailSendException: Mail server connection
 failed; nested exception is com.sun.mail.util.MailConnectException:
 Couldn't connect to host, port: mail.mydomain.hr, 587; timeout -1;
 [2020-04-02 16:49:34] [info]   nested exception is: [2020-04-02
 16:49:34] [info] #011java.net.ConnectException: Connection timed out
 (Connection timed out). Failed messages:
 com.sun.mail.util.MailConnectException: Couldn't connect to host,
 port: mail.mydomain.hr, 587; timeout -1;

有application.properties

spring.mail.host=mail.mydomain.hr
spring.mail.port=587
spring.mail.username=info@mydomain.hr
spring.mail.password=mypass
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

有什么解决办法吗?

通过这两个步骤解决:

将 VPS rDNS 更改为 mydomain.hr -(我不确定这是否有必要)

联系我的支持人员重新启动防火墙,它现在可以正常工作了。所以是防火墙问题。