postfix::header_checks 邮件头中的自定义多行文本替换

postfix::header_checks 邮件头中的自定义多行文本替换

我非常成功地处理了单行标题pcre:/etc/postfix/header_check。但当涉及到多行时,我有点沮丧。以下是标题的一部分:

X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative;
    boundary="_000_8FA6C259529CB0418FBDF96A6B22A486209F15MAILmynetworkloca_"
MIME-Version: 1.0

--_000_8FA6C259529CB0418FBDF96A6B22A486209F15MAILmynetworkloca_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

test

--_000_8FA6C259529CB0418FBDF96A6B22A486209F15MAILmynetworkloca_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

我需要的只是摆脱像

--_000_8FA6C259529CB0418FBDF96A6B22A486209F15MAILmynetworkloca_

或者至少将最后一部分替换为 我尝试放入的MAILmynetworkloca_内容maildomaincom_/etc/postfix/header_check

/MAILmynetworkloca_/ REPLACE maildomaincom_

但它没有起作用

答案1

仅供参考:此行--__INSERTSOMERANDOCHARHERE000MAILmynetwok不是电子邮件标题的一部分。也许您不想更改/删除它。

不管怎样,我来这里就是为了做这件事。

您应该使用header_checksbody_checks来替换那一行。

内容main.cf

body_checks = pcre:/etc/postfix/mimereplace
header_checks = pcre:/etc/postfix/mimereplace

内容/etc/postfix/mimereplace

/^(.*)MAILmynetworkloca_(.*)/ REPLACE ${1}maildomaincom_${2}

答案2

我认为你会想使用类似的东西/MAILmynetworkloca_$/m REPLACE maildomaincom_

美元符号表示位于字符串末尾,应将m其置于多行模式(根据聚合酶链反应页数

我不知道你为什么要替换该标题,但这是你的邮件服务器:)

相关内容