面倒スパムメール現在、メールサーバを運用しているのだけれど、やっぱりスパムメールがいっぱいくる。来るだけで害はない、はずなんだけれど、見通しが悪くなる点とかあって、できれば自動的にスパムを省いたりしたい。導入されたのがSpamAssassin。スパムメール対策としては結構有名なものらしく、解説してくれてるページもそれなりにあってインストールもお手軽。実際、すでに運用されている。今回はメールサーバを移転するに当たって、再度SpamAssassinを入れる事になった。インストールさて、今回SpamAssassinを導入するのは、すでにCourier-mtaが動いているメールサーバだ。ここにPerlスクリプトなSpamAssassinを導入してスパムメールをカットする。SpamAssassinの動作する仕組みはいくつかあるらしい。一つはsmtpで(といっても中継させるサービスを立てて)SpamAssassinに受信させて、さらにそこから読み出す手法、もう一つはmaildropを通じてSpamAssassinにヘッダを書き換えさせ、maildropで振り分けを行う。CourierはSpamAssassinなどの外部サービス(他にはメーリングリストとかかな)、を利用する際には、後者のスクリプトでのリダイレクトを利用する。インストールしてみる。japanese版のspamassassinがあったのでそちらを試してみる。精度がよくなるらしいので、どどーんと景気よくmakeオプションとして全部与えてみた。続いてSpamAssassinを有効化する。CourierがSpamAssassinを通るように設定する。maldropを通るように設定して、mailのhomedir直下にある.mailfilterにSpamAssassinを通るように記述する。今回はCourierのユーザアカウント管理にLDAPを使っているので、ldapsearchでhomeDirを調べてみた。SpamAssassinでひっかかったメールはspamディレクトリに入るようにする。.spamというcourierのMaildirサブフォルダを作っておく。"$MAILDIR/.spam/"}...(略)...今回SpamAssassinテストしたときにはmaildirの所有者の設定ミスでブラックリスト入りさせられてしまった。エラーメッセージを下記に記載しておく。SpamAssassinの別個設定をしておくSpamAssassinはデフォルトでは日本語のような言語判定がうまくいかなかったりする。その辺をデフォルトで付いてきてる機能で判定してやる。下記の設定項目を、デフォルトではコメントアウトしてあるのでコメントを外して有効化してやる。設定ファイルはホームディレクトリ(maildirhomeではなく、unixホームディレクトリ)に.spamassassinがある。最後にテスト後はテストをしてオシマイ。LAN内のホストからMXレコードを対象のメールサーバホストに書き換えて、拾ってきたスパムメールを送ってみる。.spamディレクトリのnewにメールが入っていれば成功、のはず。posts:spamassasinでメールを学習させる方法spamassasinをonにするにはCourierのメールアドレスを追加する方法courierのブラックリストに入れられてしまった場合の対処SpamAssassinルールメモSpamassassinがおかしいcourierでメーリングリストを作成するFreeBSDでcronにdateコマンドを含めたかったけどうまくいかない既存のUNIXユーザからLDAPのldifファイルを作るmaildirmakeこの投稿へのコメントコメントはありません。コメントをキャンセルこの投稿へのトラックバックトラックバックはありません。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。%d人のブロガーが「いいね」をつけました。