Postfix header_checks中的语法损坏

时间:2014-06-23 11:22:41

标签: regex postfix-mta email-headers

我正在设置Postfix来编辑依赖于接收器的标头。这是通过header_checks(http://www.postfix.org/header_checks.5.html

完成的

逻辑如下: 如果电子邮件发送到“erik@sorgaard.net”,那么我们复制From字段并将其粘贴到Reply-To字段,From字段也设置为“erik@sorgaard.net”。

我没有regexp的经验,但通过一些搜索,我能够提出以下内容:

if /^To: (erik@sorgaard.net)\s.*$/
/^From: (.+@.+)\s.*$/ PREPEND Reply-To:$1
/^From: (.+@.+)\s.*$/ REPLACE From: erik@sorgaard.net
endif

这不起作用。我不确定语法有什么问题,但任何帮助都会非常感激。

关心Erik

2 个答案:

答案 0 :(得分:1)

问题是header_checks只对每个电子邮件行应用一次,因此跳过seconf“From”行(第3行)。

答案 1 :(得分:0)

似乎接受的答案可能会误导人。

如果您在header_checks中使用if-endif进行战斗,则应保留以下内容:

If  the  input  string  matches /pattern/, then match that input
string against the patterns between if and endif.  The if..endif
can nest

来自http://www.postfix.org/header_checks.5.html

注意“然后匹配那个输入字符串”。这意味着您不能在if / endif块中操作任何标题,而只能在if语句中使用该标题。