发送java邮件时,我在centOS服务器上遇到问题。获得以下例外。
javax.mail.MessagingException:无法连接到SMTP主机:localhost,端口:25,响应:-1
我在命令提示符下使用了以下命令,我按预期收到了邮件。
echo "testing" | mail -s"test subject" shantanu.oa@gmail.com
maillog的相关条目看起来像这样......
Mar 28 20:13:16 postfix/smtpd[10120]: fatal: no SASL authentication mechanisms
Mar 28 20:13:17 postfix/master[28163]: warning: process /usr/libexec/postfix/smtpd pid 10120 exit status 1
Mar 28 20:13:17 postfix/master[28163]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
Mar 28 20:26:22 postfix/smtpd[11001]: warning: SASL: Connect to private/auth failed: Connection refused
如何解决问题?
答案 0 :(得分:0)
从例外情况来看,它似乎无法连接到主机。
您是否尝试过telnet的东西?
要检查的另一件事是IP解析的名称是否正确发生。如果不是,您可以直接使用IP代替主机来查看会发生什么。
答案 1 :(得分:0)
你的smtp服务器需要身份验证吗? 似乎是这样,因为带邮件的cmd调用有效。在默认的后缀配置中,允许本地用户在不进行身份验证的情况下发送邮件。并且您的Java应用程序可能不是此计算机上的注册系统用户。
尝试在代码中提供用户名和密码以登录smtp服务器。
答案 2 :(得分:0)