パスワードを忘れた? アカウント作成
529640 journal

Ryo.Fの日記: Spamass-milter: SpamAssassin-Milter Quarantine

日記 by Ryo.F

SpamassassinsendmailのMILTERで動作させる、Spamass-milterの話の続き。Spamass-milterに'-b hogehoge'と書くと、SPAMをhogehoge宛に転送してくれる、というを書いた。ただ、こうしてしまうと、spamと判定されたメールはすべてhogehogeに送られて、ユーザには届かない。`-b'の代わりに`-B'を付ければ、`-r num'設定でSMTPレベルで遮断(reject=550 5.7.1 Blocked by SpamAssassin)されたspam以外は、ユーザには届くが、普段はspamなんかユーザに見せたくない。しかしながら、誤判定はツキモノだから、万一の場合はユーザの指示でゴミ箱から取り出せるようにしたい。ユーザが誤判定を知るためには、spam遮断のレポートも欲しいところだ。

ということで、SpamAssassin-Milter Quarantineというのを発見した。こっちはインストールの簡単な解説。

まだ試してないのだが、これには問題がありそうだ。期待通りに動かない可能性があるのだ。

まず、spamass-milterに`-r'と`-b'もしくは`-B'オプションを付けて運用した場合、メールは三段階に分類される。

(イ)もろspamじゃん
`-r'で指定した数値以上のスコア
(ロ)spamじゃないかなあ
user_prefsもしくはlocal.cfのrequired_scoreで指定した数値以上のスコア
(ハ)spamじゃなさそう
それ以外

一方、Spamass-milterのmanpageには、次のような記述がある

-b
spamaddress Redirects tagged spam to the specified email address. All envelope recipients are removed, and inserted into the message as `X-Spam-Orig-To:' headers.
-B spamaddress
Same as -b, except the original recipients are retained. Only one of -b and -B may be used.

しかし、この記述は正確に言うとちょっとウソだ。というのは、(ロ)に分類されたものは確かにX-Spam-Orig-To:が追加されるのだが、(イ)に分類されたものにはこれが追加されない。代わりに、X-Envelope-From:とX-Envelope-To:が追加されるようだ。

SpamAssassin-Milter Quarantineのコードを眺めてみると、Spam-Orig-To:を元に動作する仕様のように見える。X-Envelope-To:は見ていないようだ。とすると、(ロ)に対しては期待通り動作するが、(イ)に対しては…?

それと、ユーザ名に基づいてファイル名を作るようなので、前のエントリに書いたような、`mailer prog'の場合にどうなるのか、とか、/etc/aliasesなどで複数のアドレスに展開される場合、ちゃんと動くのか、とか、いろいろ不明な点は多い。

んー、仕様は確定してるから、Rubyで書き起こすかなあ…

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...