過去数か月の間、私が受け取ったスパムの量は私を夢中にさせてきました。 Exim4メールサーバーでSpamAssassin(RBLチェック付き)を実行しているにもかかわらず、その多くがメールボックスへの道を見つけています。
犯罪者の大多数が最終的にRBLに入ることに気づきましたが、afterがすでにスキャンされ、無害であることが判明しただけです。通常、これらのメールを受信したときのスパムスコアは0.0〜1.1ですが、しばらくするとスコアははるかに高くなります。
検索を行ったが、使用できると思われるものが見つからなかったため、メールボックス内の最新のメールを調べてSpamAssassinに再分析させる小さなプログラムをまとめました。結果は驚異的でした:私のメールボックスに届いたほとんどすべてのメールは、配信後5〜10分で5.0のしきい値を超えました。それより少し時間がかかることもありますが、これまでのところ、最終的には常にしきい値を超えます。
さて、実際にメールボックスを積極的に読んでいるときはそれほど便利ではありませんが、最初にメールをチェックする朝にこれらのメールを手動で削除する時間を大幅に短縮できます。
ここで問題となるのは、作成したプログラムが個別に実行され、IMAPを使用して特定のメールボックスに接続して変更を加えることです。これにより、他のユーザーにこのソリューションを使用することが困難になります。これは、他のユーザーのパスワードが必要になるためです。
すでに受信したメールを再処理できる既存のツールはありますか?それが重要な場合は、ディスク上でMaildir形式を使用しています。そのようなツールが存在しない場合は、Maildirメールボックスに直接アクセスして変更するライブラリもうまくいく可能性があります。
電子メールの配信を(グレーリストなどで)遅らせたくないのは、その遅延を有効にするには少なくとも10分必要であり、営業時間中は法外なことになるからです。
これは確かに非常に優れた手法であり、特にスノーシューと戦う場合は非常に優れた手法です。スノーシューは、電子メールの爆発全体が数分でドアの外に出るタイプのスパムです。これは、スパム対策サーバーが到着したものを処理してからスパム定義を送り出すのに約それだけの時間がかかるためです。
これをローカルで実行できるすぐに使用できるソフトウェアはわかりませんが、 IMAP Spam Begone が適している可能性がありますあなたの要望。 IMAPを介してメールボックスサーバーに接続し(標準のメールクライアントと同じように)、SpamAssassinを実行してクリーンアップします。
ローカルで実行されるものが必要な場合は、これを実行するSpamAssassinの簡単なラッパーを作成できます。 Maildirは各メッセージを独自のファイルに保存するので、次のようなものは適切です。
Sa-bootstrap.shの内容:
#!/bin/sh
for email in "$@"; do
if ! spamassassin -e < "$email" > /dev/null 2>&1; then
mv "$email" /full/path/to/spam/folder
fi
done
これで、実行できます。
find /path/to/maildir -type f -print0 |xargs -0 sa-bootstrap.sh
スパムを確認し、スパムとハムを削除する前にsa-learn
を使用することを忘れないでください。
(spamassassin -e
は、指定されたメッセージがスパムであると判断された場合、ゼロ以外のエラーコードで終了します。)
オン/オフを検討しましたか グレーリスト (メールボックスごとに)?
例えば勤務時間中はグレーリストをオフにし、勤務時間外はオンにします(アクティブなIMAPセッションがないユーザーの場合)。