smtpd_helo_restrictions = ...,reject_unknown_helo_hostname 偶尔会拒绝我关心的邮件,如何处理?

smtpd_helo_restrictions = ...,reject_unknown_helo_hostname 偶尔会拒绝我关心的邮件,如何处理?

我已将我的 postfix 配置如下:

smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unknown_helo_hostname

这种方法效果很好,因为大多数垃圾邮件机器人似乎没有正确的反向查找。但偶尔我还是会遇到我关心的邮件被拒绝的情况,因为邮件源服务器管理员并不关心是否正确配置他的服务器。

例如,此处服务器将自己介绍为“srv1.xbmc.org”,它没有 DNS 记录,并且无法通过我的基本检查。

Jan  6 04:42:36 mail postfix/smtpd[660]: connect from xbmc.org[205.251.128.242]
Jan  6 04:42:37 mail postfix/smtpd[660]: NOQUEUE: reject: RCPT from xbmc.org[205.251.128.242]: 450 4.7.1 <srv1.xbmc.org>: Helo command rejected: Host not found; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<srv1.xbmc.org>

我尝试联系服务器管理员几次,但没有得到任何回应。从我的角度来看,处理此问题的最佳方法是什么?将这些“特殊”主机添加到mynetworks =我唯一的选择中了吗?也许我的整个smtpd_helo_restrictions设置在某些重要方面存在错误?

答案1

从我的角度来看,处理此问题的最佳方法是什么?你有两种方法

将这些“特殊”主机添加到我的网络 = 我唯一的选择吗?不,是的

我的整个 smtpd_helo_restrictions 设置是否在某些重要方面存在错误?不,它有一个一般限制规则。

最简单的方法。您可以跳过对这些主机的检查

smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access hash:/etc/postfix/helo_access, reject_unknown_helo_hostname

将以下行添加到文件

srv1.xbmc.org OK

并创建地图文件

# postmap /etc/postfix/helo_access
# service postfix restart

困难的方式。你需要创建自己的限制类

smtpd_restriction_classes = sender_white_list
sender_white_list = check_client_access hash:/etc/postfix/check_client_access, reject

smtpd_helo_restrictions =  permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/check_helo_access

/etc/postfix/check_helo_access
srv1.xbmc.org sender_white_list

/etc/postfix/check_client_access
205.251.128.242 OK

通过这样的配置,仅允许来自主机 ip 205.251.128.242 的 helo 名称“srv1.xbmc.org”

答案2

正如您注意到的,远程邮件服务器给出的主机名没有正向 DNS 条目。

$ host srv1.xbmc.org
Host srv1.xbmc.org not found: 3(NXDOMAIN)

这不是一个大问题,因为这些通常是公共互联网上没有意义的外部主机名。

完整的清单检查,参见关于垃圾邮件预防的这个答案。在我的公共邮件服务器上,我从来没有使用过,reject_unknown_helo_hostname尽管它在那里被列为推荐(另一个用户添加了它)。

答案3

不要使用全面主机名拒绝,除非您计划拒绝来自大多数自动化系统的邮件。是的,它不完全符合 RFC,但他们不会很快改变它。

我一般建议使用

reject_unknown_reverse_client_hostname
warn_if_reject reject_unknown_helo_hostname
reject_invalid_helo_hostname

相反;这将记录 RFC 未知的 EHLO 但仍然让它们通过。

尤其是 Exchange 机器因仅使用丑陋的 netbios 主机名进行 EHLO 而臭名昭著。

答案4

....快速而简单:修改本地计算机上的 Hosts 文件。在本例中,您需要将以下行(使用 Tab 键在名称和 IP 地址之间创建空格)添加到 /etc/hosts 文件,然后保存该文件。

205.251.128.242 srv1.xbmc.org

六锤

相关内容