使用 Postfix 檢查 Postmap Header_Checks 後的警告訊息

使用 Postfix 檢查 Postmap Header_Checks 後的警告訊息

我在 Ubuntu 伺服器上使用 postfix-pcre。如果我使用以下命令測試 header_checks 配置

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

我收到以下警告訊息:

postmap:警告:正規表示式對應 /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 表。如果沒有,則必須安裝後綴PCR

相關內容