我可以例外拒绝reject_unknown_client_hostname吗?

Dan*_*ral 11 email postfix

我的外部 SMTP 阻止了一些带有错误的电子邮件450 4.7.1 Client host rejected: cannot find your hostname,我们可以追溯到reject_unknown_client_hostname. 碰巧的是,反向地址解析到的主机名本身没有 DNS 记录。修复此问题的可能性很小,但我们确实需要收到他们的电子邮件。

因此,我们可以配置某种异常来解决这个规则只是针对他们?

Tor*_*ian 15

您可以允许特定客户端绕过smtpd_client_restrictions

smtpd_client_restrictions =
  check_client_access hash:/etc/postfix/client_access,
  reject_invalid_hostname
Run Code Online (Sandbox Code Playgroud)

这将首先执行 中的指定操作client_access,如果它与此处列出的任何规则都不匹配,则拒绝没有有效域的发件人。

client_access 中的语法是:

1.2.3.4    OK
bad.domain REJECT
Run Code Online (Sandbox Code Playgroud)

设置此文件后,执行以下命令以生成此文件 (db) 的索引版本:

postmap /etc/postifx/client_access
Run Code Online (Sandbox Code Playgroud)

重新加载后缀,你应该没问题。

有关访问表的更多文档

更多关于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
Run Code Online (Sandbox Code Playgroud)

它将仅为对等体 1.2.3.4启用调试。通过查看您的邮件日志,这应该让您了解当客户端 1.2.3.4 连接到 smtp 服务以向您发送电子邮件时发生了什么。