postfix 501 Syntax: HELO hostname如何解决?

发布于 2021-11-28 02:59:53 字数 1424 浏览 962 评论 6

postfix搭建好了,用outlook可以正常发送mail给gmail,在gmail中也正常收到了。

可是用javamail发送就会出现下面的错误。

javax.mail.MessagingException: 501 Syntax: HELO hostname

另外,该段程序原来在windows下是好用的,不知道为什么在rhel5下就不好用了。

查了好久,有的说需要修改hosts文件:

xxx.xxx.xxx.xxx       smtp.mydomain.com

试过了,无效。

有的说,直接把程序中的smtp.mydomain.com修改为IP也是试验过了,还是无效。

还有其他的可能吗?红薯,oschina是怎么做的啊?

props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", hostName)
Authenticator auth = new PopupAuthenticator(username, password);
Session mailSession = Session.getInstance(props, auth);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String) props.get("mail.smtp.host"), username, password);
transport.sendMessage(mimeMsg, mimeMsg .getRecipients(Message.RecipientType.TO));
transport.close();
static class PopupAuthenticator extends Authenticator {
    private String strUser;
    private String strPwd;

    public PopupAuthenticator(String user, String password) {
        this.strUser = user;
        this.strPwd = password;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(strUser, strPwd);
    }
}
大家能帮忙看看怎么回事吗?

好像不是postfix的问题,好像是linux服务器下跑javamail的问题。

web服务是resin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

刘备忘录 2021-12-04 15:40:20

不是把SMTP服务器地址配到hosts文件中,是吧linux服务器机器名配上,就是谁发邮件配谁的IP和对应机器名。

首先命令 hostname 找到机器名 如 abc-1234,还有服务器的公网IP(或内网IP,127.0.0.1我没试过)

如下:

127.0.0.1   localhost
255.255.255.255(服务器公网IP) abc-1234(服务器hostname机器名)
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

平定天下 2021-12-04 14:45:02

还是没明白,望大神帮忙急急急

悸初 2021-12-04 13:27:58

大神,,我的问题也是一样的,你结贴的方法我不太明白,望帮忙,急急急

眼泪淡了忧伤 2021-12-04 13:16:31

解决了,是hosts文件写法有错误,hosts里面制定的应该是机器名,我中途修改过一次机器名,但是hosts文件里面对应的名字没有修改。

修改过后,已经好用了~

结贴~

凡尘雨 2021-12-03 14:55:22

工程在windows下连接linux的postfix就好用,但是把工程放在linux下运行就不好用了,郁闷啊~

奈何桥上唱咆哮 2021-12-02 17:47:22

transport.connect((String) props.get("mail.smtp.host"), username, password);  

执行到上面这句话的时候出现错误,debug信息是:javax.mail.MessagingException: 501 Syntax: HELO hostname

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文