Procmail
如何在不給自己發送電子郵件的情況下測試 procmail 規則?
我收到很多來自某個國家/地區的垃圾郵件。它們在原始碼中都有相同的模式。我想編寫一個 procmail 規則來自動將所有這些電子郵件移動到我的垃圾郵件文件夾。
垃圾郵件的來源可能如下所示("
$$ REDACTED $$“由我添加以保護我的隱私):
Return-Path: <> X-Original-To: [REDACTED] Delivered-To: [REDACTED] Received: from [REDACTED] ([REDACTED] [REDACTED]) by [REDACTED] (Postfix) with ESMTPS id 2AC8E731E799DC for <[REDACTED]>; Sat, 9 Jul 2022 20:16:41 +0000 (UTC) Received: from [REDACTED].org ([REDACTED].ru [REDACTED]) by [REDACTED] (Postfix) with ESMTP id 6F1865ECD8 for <[REDACTED]>; Sat, 9 Jul 2022 20:16:40 +0000 (UTC) [...]
我想做的是查看“已接收”標題並將來自 .ru TLD 的所有內容都扔進垃圾郵件中。
我的嘗試是這樣的:
:0 H * ^Received:*\.ru .Spam/
但是,我是編寫 procmail 規則的新手。我怎樣才能測試我的新規則以便我知道它是正確的?
procmail
接受來自標準輸入的郵件消息,因此將對您通過管道發送給它的任何內容採取行動。理想情況下,您通過管道傳輸的內容應該與郵件傳輸代理將發送的內容相同。還要在正確包含新規則之前測試使用自定義規則文件.procmailrc
:# rm output # cat testmessage From user@example.org To: user@example.org Subject: foo test # cat testrules :0 H * ^ output # procmail testrules < testmessage # cat output From user@example.org To: user@example.org Subject: foo test #