Postmap Header_Checks 使用 Postfix 后出现警告消息

Postmap Header_Checks 使用 Postfix 后出现警告消息

我在 Ubuntu 服务器上使用 postfix-pcre。如果我使用以下命令测试 header_checks 配置

postmap -q 'To: "Markus Schlei" <[email protected]>' regexp:/etc/postfix/header_checks

我收到以下警告信息:

postmap:警告:regexp map /etc/postfix/header_checks,第 36 行:前面的正则表达式无效。

而且它也没有拒绝我的测试。在第 36 行我得到了以下代码:

/^To:.*\@(?!(gmail\.com)).*/ REJECT Test-Nr-1

我想拒绝所有不匹配的消息gmail.com

编辑 1:我发现,如果我删除“(?!(..)”警告信息消失了,但是它却做了我想要的相反的事情。

答案1

您应该知道有 POSIX 正则表达式和 PCRE 正则表达式。

您正在使用负面前瞻?!)带有正则表达式表。这种类型的正则表达式仅受 PCRE 正则表达式表支持。

要了解您的 Postfix 系统支持哪些类型的查找表,请使用“postconf -m”命令。

如果列出了 pcre,则只需切换到 pcre 表而不是 regexp 表。如果没有,则必须安装postfix-pcre

相关内容