我将您的问题重写为:
如何为smtpd(端口25)和提交(端口587)使用不同的_header_checks?
这个规范问题可以分为几个条件
- 我想关闭smtpd或提交之一的header_checks。
- 我想为smtpd和提交运行不同的header_checks。
1.我要关闭smtpd或提交之一的header_checks。
对于该示例,我假设您要关闭header_checks以进行提交(外发电子邮件)。
解决方案1:receive_override_options方法
您可以使用称为receive_override_options的 postfix参数。使用该参数,您可以覆盖全局header_check开关,因此过滤器将不会运行。#main.cf header_checks = pcre:/ path / to / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
注意事项:这将关闭在man 5 header_checks中定义的所有_header_checks和body_checks 。有关要关闭哪个参数的完整控制,请参阅解决方案2。
解决方案2:多种清理服务方法
正如清理服务所执行的那样,我们可以为您的问题提供多种清理服务技术。您可以在amavisd-new教程中看到此设置的示例。*_header_checks
此配置的魔术参数是cleanup_service_name。使用此参数,我们可以为每个smtpd进程使用不同的清理服务。首先,我们在master.cf中定义一个附加的清理服务(称为no-headerchecks)
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
在此清理中,我们定义了空的mime_header_checks以禁用过滤。最后一步是告诉提交服务使用我们的无标题检查
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2.我想为smtpd和提交运行不同的header_checks。
对于此问题,您可以使用如上所述的多种清理服务方法。
首先,我们在master.cf中定义一个附加的清理服务(称为“第二标头检查”)
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
在此清理中,我们为其他PCRE表定义了第二个mime_header_checks。最后一步是告诉提交服务使用我们的第二个标题检查
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
注意: