停止傳出已標記為垃圾郵件的垃圾郵件

停止傳出已標記為垃圾郵件的垃圾郵件

我使用 Amavis 和 Spamassassin 等來運行 Postfix 伺服器。 Postfix 接收來自外界的郵件並將其傳遞給 Amavis。 Amavis 讓 Spamassassin 對郵件進行評級,然後在必要時將其標記為垃圾郵件。然後Postfix依靠每個使用者的procmailrcs來按照他們的意願處理郵件。我相信這是正確的方法,因為我相信每個用戶都應該有能力選擇如何處理他們的垃圾郵件。不幸的是,我們的虛擬別名清單中也有一些具有外域的使用者。因為這些位址在我們的伺服器上沒有使用者帳戶,所以轉發給它們的垃圾郵件永遠不會透過 procmailrc,我們最終會將已標記為垃圾郵件的垃圾郵件轉發到其他伺服器。有沒有辦法阻止已標記為垃圾郵件的外發郵件?或者有其他方法可以解決這個問題嗎?

編輯:我只想刪除既是垃圾郵件又被轉發到其他伺服器的郵件。我不想刪除所有標記為垃圾郵件的郵件。有沒有辦法區分兩者呢?

答案1

您可以刪除標頭中帶有特定標籤的電子郵件。

Postfix 標頭檢查手冊頁了解詳情。

例子:

在“/etc/postfix/main.cf”中,新增

header_checks = 正規表示式:/etc/postfix/header_checks

在「/etc/postfix/header_checks」中,有

/^(主題:\[垃圾郵件\])(.+)$/ 丟棄

上述指令將丟棄所有主題以「[SPAM]」開頭的電子郵件。

編輯:我只想刪除既是垃圾郵件又被轉發到其他伺服器的郵件。我不想刪除所有標記為垃圾郵件的郵件。有沒有辦法區分兩者呢?

這可以透過在 Postfix 中執行兩個實例來完成。第一個實例會將電子郵件轉發到第二個實例(而不是遠端電子郵件伺服器)。透過指定本地傳輸也可以實現同樣的目的。

第二個實例將具有上述 header_checks。這樣,只有發送到遠端伺服器的電子郵件的垃圾郵件才會被刪除。

一些參考:

  1. 指定傳輸
  2. 您可以透過在 master.cf 檔案中指定其他條目來執行 Postfix 的多個實例。細節這裡

相關內容