Procmail

如何在不給自己發送電子郵件的情況下測試 procmail 規則?

  • July 11, 2022

我收到很多來自某個國家/地區的垃圾郵件。它們在原始碼中都有相同的模式。我想編寫一個 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

#

引用自:https://unix.stackexchange.com/questions/709327