我的外部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服务发送给你的电子邮件,通过查看你的邮件日志。