我可以对reject_unknown_client_hostname进行例外吗?

我的外部SMTP阻止了一些带有错误450 4.7.1 Client host rejected: cannot find your hostname电子邮件450 4.7.1 Client host rejected: cannot find your hostname ,我们追溯到reject_unknown_client_hostname 。 碰巧,反向地址parsing的主机名本身不具有DNSlogging。 得到这个固定的机会很低,但我们确实需要得到他们的电子邮件。

那么,我们可以configuration某种例外来绕过这条规则吗?

您可以允许特定的客户端绕过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

编辑 :如果由于某种原因,你需要debugging这个,你可以尝试启用debugging在smtpd取决于谁连接到您的服务。 编辑/etc/postfix/master.cf ,findsmtpd服务并添加一行,如下所示:

 smtp inet n - - - - smtpd -o debug_peer_level=10 -o debug_peer_list=1.2.3.4 

它将启用仅用于对等1.2.3.4的debugging。 这应该给你一个想法,当客户端1.2.3.4连接到smtp服务发送给你的电子邮件,通过查看你的邮件日志。