Linux

從主題匹配的 mailq 中刪除

  • April 23, 2020

我有一個 mailq,它正在備份具有相同主題行的多封電子郵件。我想刪除 mailq 中與特定主題行匹配的所有電子郵件,這樣它們就不會被發送。任何想法如何做到這一點?與垃圾郵件相關的非常緊急。

Postfix 沒有像 exigrep 這樣的實用程序,因此您需要 grep 主題的隊列文件,然後將隊列 id 傳遞給 postsuper 以刪除它們

對於典型的 postfix 安裝,電子郵件將位於 /var/spool/postfix。有幾個隊列。您想停止 postfix,以便您可以安全地使用 postsuper 刪除電子郵件。這個簡短的腳本將刪除與特定字元串匹配的所有電子郵件。在我們的案例中,我們需要找到數千封具有相同主題行的電子郵件。

在這種情況下,所有電子郵件都被推遲了,因為我們的重新郵寄服務由於我們超出限製而拒絕了它們。

cd /var/spool/postfix/deferred
grep -r -i -l "This was the subject line" ./ | cut -d/ -f3 | postsuper -d -

關於此的一些關鍵說明:

  • grep -l 返回匹配的文件名,即匹配消息的 queueid
  • 消息都在不同的子目錄中,所以削減是從前面剝離路徑。確保您測試您的返迴路徑以確保您只是獲得隊列名稱
  • postsuper -d - 告訴 postsuper 刪除它從標準輸入獲得的消息。

希望這可以幫助找到此內容並正在尋找更具體說明的人。

引用自:https://serverfault.com/questions/281426