使用 mime_header_checks 来接受而不是拒绝?

使用 mime_header_checks 来接受而不是拒绝?

我非常熟悉使用 header_checks/mime_header_checks 来拒绝 Postfix 中的 smtp 邮件,但现在我觉得我偏离了正道;我正试图找出一种方法,如果没有包含以下标头之一:

  • 应用程序/pkcs7-签名
  • 应用程序/x-pkcs7-签名
  • 应用程序/pkcs7-mime
  • 应用程序/x-pkcs7-mime

如果不太明显,那么其意图是 MTA 只接受使用 S/MIME 加密或签名的邮件。我知道我可以在接受邮件后处理并丢弃它(根据 Direct Project,这是处理错误的“标准”方式),但如果有办法在邮件到达那一步之前以 5xx 拒绝它,那么至少有一种可能的情况不必消失在黑洞中。

我的 google-fu 在这方面让我失望了 - 我得到了很多拒绝的结果,但没有得到要求某些标头的结果。所以要么这无法完成,我只能徒劳无功,要么我的搜索词与它们需要的不匹配。

答案1

不可以

参考:

  1. Postfix 邮件列表

postfix header_checks 每次只对一个标题起作用。所以没有办法制定一个适用于所有标题的规则。特别是,没有办法指定一条规则来说明“$header 不存在”。

  1. postfix 作者评论

根据文档,header_checks 每次只对一个标题做出决定,并且不会记住从一个标题到下一个标题的决定。

我建议您修复创建该消息的程序中的问题。

如果您必须在 Postfix 中修复此问题,则需要使用外部内容过滤器(http://www.postfix.org/FILTER_README.html)或 Milter 应用程序(http://www.postfix.org/MILTER_README.html)。

相关内容