Postfix:如何拒绝发送给非发件人的邮件?

Postfix:如何拒绝发送给非发件人的邮件?

有谁知道有没有办法拒绝发件人以外的收件人的邮件?也就是说,发件人只能向自己发送邮件。我的看法是,这local_recipient_maps可能不是为此设计的。

任何建议都值得赞赏。

答案1

在 postfix 中,没有简单的配置,无法使用条件,例如“如果收件人 = 发件人”。而且,一般情况下,一封邮件可以有多个收件人。那么你打算如何处理这样的邮件?Postfix 无法为每个收件人“拆分”邮件并将其仅发送给其中一个收件人。因此,你可能希望重写(删除)邮件中除发件人之外的所有收件人,但这至少在 postfix 中几乎是不可能的。MTA 不适合进行此类操作,因为它的主要任务是邮件投递,而不是转换邮件。 https://high5.nl/mirrors/www.postfix.org/BUILTIN_FILTER_README.html#limitations

您还应该了解 smtp 会话中的收件人和邮件标头中的收件人之间的区别。真正的收件人在 smtp 会话(信封)中,标头只是一段文本,可能有任何发件人/收件人,也可能根本没有。所以您不能依赖标头。

因此https://high5.nl/mirrors/www.postfix.org/postconf.5.html#smtpd_recipient_restrictions您可以仅使用此格式来接受或拒绝收件人的值https://high5.nl/mirrors/www.postfix.org/access.5.html

在大多数 postfix 检查中,您可以根据一些预定义值列表检查一个值。您无法从 smtp 会话或邮件的不同部分获取两个值并像在编程语言中一样对它们进行比较。

所以,忘记 smtpd 的限制吧。

即使 https://high5.nl/mirrors/www.postfix.org/header_checks.5.html您不能比较收件人和发件人(或任何两个值)。

我只看到一种可能性(除了写 milter)当你可以比较发件人和收件人时https://high5.nl/mirrors/www.postfix.org/SMTPD_POLICY_README.html

编写脚本来 check_policy_service检查发件人是否=收件人并配置 smtpd 来使用它https://high5.nl/mirrors/www.postfix.org/SMTPD_POLICY_README.html#client_config

相关内容