smtp.edaijia-inc.cn:25javax.mail.MessagingException: 501 Syntax: HELO hostname

1.本机上利用apache的邮件组件发送正常,服务器上报错:smtp.edaijia-inc.cn:25javax.mail.MessagingException: 501 Syntax: HELO hostname,在服务器使用单元测试也正常。


解决办法:

使用hostname获取服务器的名字,ping服务器名称,没有对应ip,不通,vim /etc/hosts文件,添加hostname对应127.0.0.1,再发邮件就不报错。


原因:

Javamail 在提取本地 hostname 的时候会 dig 改 hostname ,然后以改 ip 发送邮件。

由于 hostname 对应的 ip 地址, linux 无法解析(如果是 windows 则无这个问题, windows 利用 netbios 协议去获得该主机的 ip 地址)到本机 hostname 的 ip ,导致 javamail 无法调用发送 ip 。 Postfix 收到此类邮件将拒绝投递,而产生 501 错误。


问题:

为什么服务器上单元测试也可以发送呢,没有添加hosts时候。

猜你喜欢

转载自blog.csdn.net/alen1985/article/details/40823895
今日推荐