Email 戈朗;后缀-收到的电子邮件标题为localhost

Email 戈朗;后缀-收到的电子邮件标题为localhost,email,go,smtp,gmail,postfix,Email,Go,Smtp,Gmail,Postfix,在尝试设置postfix以允许网站发送密码重置电子邮件时,我注意到当使用 echo "body" | mail -s "subject" test@example.com 这些电子邮件很好地到达,没有被标记为垃圾邮件。但是,当通过站点服务器发送时,标头被设置为从本地主机接收,因此被标记为垃圾邮件 Received: from example.com (localhost [127.0.0.1]) by example.com (Postfix) with ESMTPS id CE1299C43

在尝试设置postfix以允许网站发送密码重置电子邮件时,我注意到当使用

echo "body" | mail -s "subject" test@example.com
这些电子邮件很好地到达,没有被标记为垃圾邮件。但是,当通过站点服务器发送时,标头被设置为从本地主机接收,因此被标记为垃圾邮件

Received: from example.com (localhost [127.0.0.1])
by example.com (Postfix) with ESMTPS id CE1299C435
for <my_email@gmail.com>; Tue,  2 Aug 2016 05:28:41 +0000 (UTC)
它没有提供设置发送主机的方法,因此为了纠正这个问题,我改为使用手动拨号,发送HELO消息,然后启动tls(在HELO导致恐慌之前尝试启动tls,说HELO必须是第一个呼叫)

这仍然成功地发送了电子邮件,但与之前一样,收到的标题仍然显示localhost作为来源,我觉得我误解了一些事情,因为我认为HELO用于识别呼叫的来源


非常感谢您的建议和帮助,这是我第一次尝试配置MTA并像这样使用它,有一段学习曲线我显然还没有结束。

正如Juergen Gmeiner在评论中所建议的,我的问题最终是由配置不良的
/etc/hosts
文件引起的,这样就不会影响其他服务

现有条目为:

127.0.0.1 localhost example.com
将此更改为:

127.0.0.1 example.com localhost
在不破坏需要localhost正确评估的现有服务的情况下解决了该问题

如果远程服务器出现同样的问题,则此解决方案适用于我的本地托管服务器进程,并且需要使用远程服务器的ip和主机名创建等效的like。i、 e

<remote ip> <hostname>

注意:虽然我通过从本地开发构建调用到生产服务器测试了最后一部分,并且成功了,但这不是一个100%测试的解决方案


谢谢大家的帮助,我希望我犯的这个错误能帮助以后犯类似错误的任何人。

我会检查/etc/hosts并确保hostname(来自smtp.SendMail)指向服务器的外部ip地址,而不是127.0.0.1。对于这两个调用,hostname等于服务器的fqdn。根据我对所用语法的理解,hosts文件是正确的,但我对设置它还不熟悉,所以相关行是127.0.0.1 localhost example.com,我认为这就是问题所在。如果example.com解析为127.0.0.1,并且您通过smtp向example.com发送邮件,则发送ip地址的反向查找将为127.0.0.1 localhost。我会尝试将example.com指向10.77.88.99(替换实际的外部可访问ip地址)。然后,该地址的第一个名称将显示在您的via行中更改顺序就足够了,将其更改为127.0.0.1 example.com localhost,导致所有内容仍在工作,并且接收到的标头设置正确,出于某种原因仍显示在垃圾邮件中,但不确定原因,但我询问的问题已解决,谢谢Juergen。我想现在的问题是gmail.com地址使用example.com作为邮件中继。通常,smtp服务器必须是发送电子邮件地址的正式(从dns mx记录开始)smtp服务器。你为什么不做你的“回声”身体|邮件-s“主题”test@example.com“玩围棋的把戏?除了进入标准管道的管道
127.0.0.1 example.com localhost
<remote ip> <hostname>