【发布时间】:2014-08-13 10:02:03
【问题描述】:
我正在设置 Postfix 以根据接收者编辑标题。这是通过 header_checks(http://www.postfix.org/header_checks.5.html)
逻辑如下: 如果电子邮件发送到“erik@sorgaard.net”,那么我们复制“发件人”字段并将其粘贴到“回复”字段,“发件人”字段也设置为“erik@sorgaard.net”。
我没有使用正则表达式的经验,但通过一些搜索,我得出了以下结论:
if /^To: (erik@sorgaard.net)\s.*$/
/^From: (.+@.+)\s.*$/ PREPEND Reply-To:$1
/^From: (.+@.+)\s.*$/ REPLACE From: erik@sorgaard.net
endif
这不起作用。我不确定语法有什么问题,但非常感谢任何帮助。
问候埃里克
【问题讨论】:
-
你想让正则表达式匹配
id's吗? -
不,我不知道这里有任何 id,只是表示为字符串的纯电子邮件地址。此语法:(.+@.+) 仅用于匹配实际的电子邮件地址,而不是任何包含名称的尾字符串。
-
documentation 表示
if /pattern/flags endif如果输入字符串与/pattern/匹配,则将该输入字符串与 if 和 endif 之间的模式进行匹配。虽然您的模式是To标头,但您如何匹配if中的From标头? -
那么
if语句只真正依赖于To字段。只要匹配,脚本就应该编辑From和Reply-To字段。我知道我的代码可能很无聊,但我完全迷失在这里,希望能得到任何帮助。
标签: regex postfix-mta email-headers