web-dev-qa-db-ja.com

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

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

 From tom @ tom-mint Fri Mar 15 01:46:20 2013 
 Return-Path:<tom @ tom-mint> 
 X-Original-To:tom @ my -server.com 
 Delivered-To:[email protected] 
 X-Virus-Scanned:Debian amavisd-new at my-server.com 
 X-Spam-フラグ:YES 
 X-Spam-Score:6.463 
 X-Spam-Level:****** 
 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_BR_NA.KID_BR_NA_KNA_DYNAMIC_DYNAMIC_BR_NA_KID_DYNAMIC = BR autolearn = no 
日付:2013年3月15日金曜日01:46:19 -0400 
宛先:[email protected] 
件名:*** SPAM *** hello 
 User-Agent:Heirloom mailx 12.5 10/20/10 
 Content-Type:text/plain; charset = us-ascii 
 From:tom @ tom-mint(Tom)
 Status:RO 
 
 buy some viagra!

特に***SPAM***が前に付いた件名とX-Spam-Flag: YESヘッダーに注意してください。

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

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

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

9
Tom Marthenal

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

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

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

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

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

8
Alien Life Form

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

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

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

"記号とすべてで完了します。

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

5
Jenny D

メール配信エージェントは何ですか(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;
}
4
dturvene