我的外部SMTP阻止了一些带有错误的电子邮件450 4.7.1 Client host rejected: cannot find your hostname
,我们将其追溯到reject_unknown_client_hostname
。碰巧的是,反向地址解析为的主机名本身没有DNS记录。解决此问题的机会很小,但是我们确实需要获取他们的电子邮件。
因此,我们可以配置某种异常来解决这个规则只是针对他们?
我的外部SMTP阻止了一些带有错误的电子邮件450 4.7.1 Client host rejected: cannot find your hostname
,我们将其追溯到reject_unknown_client_hostname
。碰巧的是,反向地址解析为的主机名本身没有DNS记录。解决此问题的机会很小,但是我们确实需要获取他们的电子邮件。
因此,我们可以配置某种异常来解决这个规则只是针对他们?
Answers:
您可以允许特定的客户端绕过smtpd_client_restrictions
:
smtpd_client_restrictions =
check_client_access hash:/etc/postfix/client_access,
reject_invalid_hostname
这将首先执行中的指定操作client_access
,如果不符合此处列出的任何规则,则拒绝没有有效域的发件人。
client_access中的语法为:
1.2.3.4 OK
bad.domain REJECT
设置此文件后,执行以下命令以生成此文件的索引版本(db):
postmap /etc/postifx/client_access
重新加载后缀,你应该没问题。
有关访问表的更多文档
有关smtpd_client_restrictions的更多信息
编辑:如果出于某种原因需要调试,则可以尝试根据谁连接到服务来在smtpd中启用调试。编辑/etc/postfix/master.cf
,找到smtpd服务并添加如下代码:
smtp inet n - - - - smtpd
-o debug_peer_level=10 -o debug_peer_list=1.2.3.4
它将仅为对等1.2.3.4启用调试。通过查看您的邮件日志,这应该使您了解客户端1.2.3.4连接到smtp服务向您发送电子邮件时的情况。