对于不接收邮件且没有 FQDN 的 smtp 服务器,正确的 helo 是什么?

对于不接收邮件且没有 FQDN 的 smtp 服务器,正确的 helo 是什么?

helo我的 SMTP 服务器合法且正确的是什么?

  • 仅发送电子邮件。
  • 在 NAT 后面,没有打开入站端口。
  • SMTP 服务器没有 FQDN。
  • 为 2 个不同的域发送邮件

我们是一家拥有多个分支机构的小型企业。我们有 2 个不同的网站,其中包含电子邮件地址,例如:

我们的 SMTP 服务器将为这两个域发送电子邮件。

RFC2821 第 4.1.1.1 节

...并且没有可用的反向映射记录),客户端应该发送一个地址文字(参见第 4.1.3 节),可选地后跟有助于识别客户端系统的信息。

4.1.3 地址文字**

...为了绕过这个障碍,允许使用地址的特殊文字形式作为域名的替代。对于 IPv4 地址,此形式使用四个小十进制整数,以点分隔并用方括号括起来,例如 [123.255.37.2] ...

因此我认为我的helo名字应该是:

[1.2.3.4] company name INC city, state

后缀配置

smtp_helo_name = [1.2.3.4] company name INC city, state

使用这个我仍然收到以下错误:

... status=bounced (host mx1c38.carrierzone.com[66.175.58.41] refused to talk to me: 501 5.0.0 Invalid domain name

... status=bounced (host mta5.am0.yahoodns.net[98.138.112.38] refused to talk to me: 501 Syntax error in parameters or arguments

... status=bounced (host kakllc.com[67.214.161.202] said: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1) (in reply to MAIL FROM command)

和其他类似的错误都与helo.

这是正确的吗helo

答案1

为主机提供一个 FQDN,例如foo.product1.com。将 设HELO为此完全限定域名。确保外部 DNS 可以解析该名称。否则,您会看到大量拒绝,正如所观察到的,因为阻止此类邮件(可能通过类似的方式smtpd_helo_restrictions = reject_invalid_hostname reject_non_fqdn_hostname)是消除一定比例的传入垃圾邮件的廉价方法。

答案2

使用 postfix(在 Ubuntu 16.04.3 上),我在 /var/log/mail.log 的 postfix 日志中收到访问被拒绝的消息:

550 访问被拒绝 - HELO 名称无效(请参阅 RFC2821 4.1.1.1)(回复 MAIL FROM 命令)

为了尝试让它工作,我在 /etc/hosts 中添加了主机的 FQDN 条目并更改了主机名。仅此一点是行不通的 - 通过注释掉后缀配置的以下行/etc/postfix/main.cf我能够使其工作:

#myhostname = ubuntu

myhostname您可以在中阅读该设置的默认行为文档

要在更改配置后重新启动 postfix,我使用了以下命令:

sudo service postfix restart

相关内容