仅当“Message-Id:”以定义的字符串开头时,我才需要修改传入电子邮件消息中的“From:”标题行。因此,我在 main.cf 中输入:
header_checks = pcre:/etc/postfix/header_checks
并且 header_checks 文件包含:
if /^Message-Id: <footext.+/
/^From: (.*)@johndoe.com/ REPLACE From: ${1}@ext.johndoe.com
endif
不起作用,条件不成立。我遗漏了什么?
答案1
http://www.postfix.org/header_checks.5.html
如果/模式/标志
endif Match the input string against the patterns between if and endif, if and only if ----> the same <----- input string also matches /pattern/.
您不能使用 if/endif 块来匹配不同的标题。
答案2
我偶然发现了这篇文章,并想更新一下,因为我也遇到了类似的问题:我采取了不同的方法后缀管道正如一些资源所建议的那样:
- https://thecodingmachine.io/triggering-a-php-script-when-your-postfix-server-receives-a-mail
- http://postfix.1071664.n5.nabble.com/Conditional-sender-rewrite-based-on-recipient-address-td93497.html
只是因为我遇到了循环问题: