繁体   English   中英

通过Java发送邮件

[英]sending mail through Java

发送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

我该如何解决这个问题?

从例外看来,它似乎无法连接到主机。

您尝试过telnet的东西吗?

要检查的另一件事是IP地址解析名称是否正确。如果不正确,您可以直接使用IP代替主机来查看发生的情况。

您的smtp服务器需要身份验证吗? 似乎如此,因为带邮件的cmd调用有效。 在默认的postfix配置中,允许本地用户发送未经身份验证的邮件。 并且您的Java应用程序可能不是此机器上的注册系统用户。

尝试在代码中提供用户名和密码以登录到smtp服务器。

从日志条目

Mar 28 20:13:16 postfix/smtpd[10120]: fatal: no SASL authentication mechanisms

我怀疑问题出在Postfix上,我不是专家。 谷歌搜索“致命的:没有SASL身份验证机制”提供了许多有趣的链接:也许在这里这里看看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM