postfixを使用して特別なフォルダにスパムメールを送信する


9

私はamavisを実行しているpostfixサーバーとSpamAssassinを使用してスパムのフィルタリングを支援しています。スパムとして検出されたメッセージは、ユーザーのMaildirに配信されると次のようになります。

2013年3月15日01:46:20にtom @ tom-mintから
リターンパス:<tom @ tom-mint>
X-Original-To:tom@my-server.com
配信先:tom@my-server.com
X-Virus-Scanned:my-server.comのDebian amavisd-new
X-Spam-Flag:はい
X-Spam-Score:6.463
X-Spamレベル:******
X-Spam-Status:はい、スコア= 6.463 tagged_above = 2必須= 6.31
    tests = [DRUGS_ERECTILE = 2.221、FH_FROMEML_NOTLD = 0.18、
    FSL_HELO_NON_FQDN_1 = 0.001、HELO_NO_DOMAIN = 0.001、RCVD_IN_PBL = 3.558、
    RDNS_DYNAMIC = 0.363、TO_NO_BRKTS_DYNIP = 0.139] autolearn = no
日付:金、2013年3月15日01:46:19 -0400
宛先:tom@my-server.com
件名:*** SPAM ***こんにちは
User-Agent:家宝mailx 12.5 6/20/10
Content-Type:text / plain; charset = us-ascii
From:tom @ tom-mint(トム)
ステータス:RO

バイアグラを買う!

特に、先頭にが付いている件名***SPAM***X-Spam-Flag: YESヘッダーに注意してください。

postfixこれらのメッセージを特別なジャンクフォルダーに保存するように構成する最良の方法は何ですか?

私の調査によると、これを行うにはpostfixとは別のメール配信ツールを使用する必要があるようですが、どのアプローチが最適かわかりません。日付の情報がたくさんあるようですが、postfixがメッセージをフォルダに配置できるかどうか疑問に思っています。

メールディレクトリはすべてMaildirです。


maildropなどを使用する必要があるようです。PostfixのデフォルトMDAでこれを行う方法をまだ探しているので、最小限のトラブルでエイリアスや他のpostfix機能を維持できます。答えが出たら投稿します。
Tom Marthenal 2013年

回答:


8

Postfixのlocal(8)ローカル配信エージェントのmanページの大まかな閲覧は、このタイプの機能のヒントを示していません-予想通り。この種のタスクは通常、procmailにオフロードされます(おそらく、mailbox_commandディレクティブを介して)。これにより、キッチンシンクを管理しながら、記述したタスクを処理できます。procmailの欠点は設定ファイル形式であり、柔軟性と簡単に見つかる大量の例です。最近procmailより良いものが現れたとしても、私はそうではありません。

しかし、私のお金では、MTAを使いこなす方法を見つけたとしても、その道をたどることはしませんでした。この種のメール分類には、バルーニングの方法があり、MTAがないためです(私が知っていること:おそらく交換は知っていますが、)柔軟なメッセージハンドラー/配信エージェントとしても機能します。

これは、単一のヘッダーコンテンツに基づいて必要な処理を実行するprocmailレシピです(DEFAULTは配信ディレクトリで、多くの場合$ HOME / Mail /のようなものです)。

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

編集:( これは、以下のコメントに記載されているように、maildirメールボックス形式を想定しています。mboxを使用する場合は、最後のスラッシュを省略してください)


$DEFAULT/必要ありません。人間の可読性に役立ちます。また、最後にスラッシュを追加するとMaildirが作成されます。Mboxを使用している場合はスラッシュを省略してください(unix.stackexchange.com/a/132658/241396を参照)。
Jari Turkia

5

エイリアンライフフォームが言ったように、これはprocmailの仕事です。これは、メールサーバーのローカル配信エージェントの代わりにはなりません。これは、MDAが処理を行ったに呼び出される個別のプロセスです。

メールをprocmailでソートする必要がある各ユーザー.forwardは、ホームディレクトリで呼び出されるファイルを作成する必要があります。そのファイルには次のものが含まれている必要があります。

"|exec /usr/local/bin/procmail || exit 75"

"サインとすべてで完了します。

ALFは.procmail、スパムでタグ付けされたメールを別のフォルダーに分類する基本ファイルをすでに投稿しています。


1
procmailが/ usr / bin / procmailにある場合があることに注意してください。システム実行のどこにあるのかを把握するためにwhich procmail
Malfist

4

メール配信エージェントは何ですか(main.cf mailbox_commandを参照)?MDAがdovecotの場合、それはSieve IETF標準(rfc5228)をサポートします。これにより、可能性のあるセキュリティホールを公開することなく、procmailよりもはるかに多くのことができます。procmailをpostfix / dovecotにボルトで固定しないでください。ふるいは完全に統合されています。Courierを使用している場合は、procmailで問題ありません。ただし、Pigeonholeのsieve / sievecプログラムの方が高速でクリーンです。

以下は、スパムヘッダーを認識してメッセージをごみ箱ファイルに入れる簡単なふるいスクリプトです。

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.