美文网首页
解决JavaMail 发送邮件javax.mail.Messag

解决JavaMail 发送邮件javax.mail.Messag

作者: 袏扌戒指 | 来源:发表于2016-12-21 13:29 被阅读216次

    前些天,在Linux服务器上使用JavaMail发送邮件时,总是报javax.mail.MessagingException: 501 Syntax: HELO hostname这个错误,在确认填写的邮件发送的host没问题的情况下,而且在本地Windows环境下,是可以正常发送的。

    解决办法:

    1、先用hostname查看服务器的主机名称,然后本地试探性的ping一下这个hostname,很遗憾找到不到对应的ip主机。

    2、修改/etc/hosts文件,添加hostname的名称对应到127.0.0.1上边,哦了!在次发送邮件,成功!

    原因:

    JavaMail发送邮件时,会提取本地hostname之后,会已ip的形式去发送邮件,但是在linux服务器下,无法解析hostname对应的本机ip地址,导致JavaMail无法调用ip发送。Postfix 收到这种邮件将拒绝发送,而产生 501 错误。(windows服务器可以发送,是由于采用了不netbios 协议去获得该主机的 ip 地址,所以可以获取到ip)

    截图操作:

    相关文章

      网友评论

          本文标题:解决JavaMail 发送邮件javax.mail.Messag

          本文链接:https://www.haomeiwen.com/subject/lqjqvttx.html