私に電子メールを送信せずにprocmailルールをテストできますか?

私に電子メールを送信せずにprocmailルールをテストできますか?

特定の国からスパムをたくさん受けています。ソースにはすべて同じパターンがあります。私はこれらのすべての電子メールを自動的にスパムフォルダに移動するためのprocmailルールを作成したいと思います。

スパムのソースは次のとおりです(個人情報保護のために「[編集済み]」を追加しました)。

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)
[...]

私が望むのは、「Received」ヘッダーを見て、.ru TLDのすべてをスパムに送信することです。

私の試みは次のとおりです

:0 H
* ^Received:*\.ru
.Spam/

しかし、私はprocmailルールを書くのが初めてです。新しいルールが正しいことを確認するためにどのようにテストできますか?

ベストアンサー1

procmail標準入力でメールメッセージを受け入れるため、パイプで接続されているすべての項目で機能します。理想的には、パイプで接続されているものは、メール転送エージェントから送信されたものと同じでなければなりません。また、正しいコンテンツに新しいルールを含める前に、カスタムルールファイルを使用してテストしてください.procmailrc

# rm output
# cat testmessage
From [email protected]
To: [email protected]
Subject: foo

test
# cat testrules
:0 H
* ^
output
# procmail testrules < testmessage
# cat output
From [email protected]
To: [email protected]
Subject: foo

test

#

おすすめ記事