2007年9月25日火曜日

メールサーバの設定等

昨日で(というか今朝)で諸々の設定は終えたと思っていたのですが、まだし忘れていた設定が残っていました。
メールサーバの設定です。
私はWindowsの方ではメールを受信しておらず、Linux側にすべて保存しています。今でこそWebメールの容量もGBを越えており、特にローカルに保存する必要性は薄くなってきておりますが、ちょっと前まではそうでもなかったですよね。その頃の名残で、WindowsではWebにて確認、Linuxではローカルに保存というスタイルをとっております。
で、ただダウンロードするだけでは芸がないということで、スパムフィルタを通してからローカルに保存するようにしています。あと、Mailbox形式が私嫌いなんですよね。なんらかの拍子でメール受信に失敗したりするとメールデータ全体がおじゃんになる可能性があるとか、やってらんねー、と。ということで、Maildir形式にてメールを保存することも視野に入れ、メールサーバを立てているという次第です。
といっても、送受信サーバいずれも外部には公開しておりませんし、Linuxも普通に電源を落とすので設定は結構おざなりです(苦笑) きちんとメールサーバを運用するならしっかりと設定しておかないとまずいですが、所詮ローカルということで。
で、昨日までに受信メールサーバであるDovecotの設定は行っていたのですが、うっかり送信メールサーバのPostfixの設定を忘れておりまして、ISPのメールサーバからメールを取得したはいいけれどそれをローカルの受信メールサーバに転送できていませんでした^^;
しかも設定を大分前に行っており、しかもBlogなどに備忘録を残していなかったためやり方が分からないというオチ^^;
今回は同じ轍を踏まないよう、ちゃんとBlogに備忘録を書いておこうともいます。
Dovecotの方はほぼデフォルト設定のままでもんだいなし。デフォルトではユーザの環境を見てMailboxかMaildir形式かを自動的に判断するようになっているけれど、明示的に指定した方が無難なのでその設定を追加するくらい。
具体的には
mail_location = maildir:~/Maildir
と書いておくくらい。Mairdirにメールが届くようになっているので、ここのディレクトリ名を自由に変更することは可能。まぁ、デフォルトを触らない方が安心・安全。
続いてPostfixの設定。こちらはメールサーバ構築(Postfix+Dovecot) - Fedoraで自宅サーバ構築にしたがって設定しました。昔設定した時もここのサイトにお世話になった気がする。当時はFC3か4の頃だったと思うけど、ちゃんと7にも対応して編集しているあたり脱帽。まめやなぁ。
基本的にはこの2つを起動しておけばfetchmailコマンドにてISPのメールサーバからメールを取得し、それをローカルの受信メールサーバに転送する事が可能です。私はkbiffというメールチェッカを利用しており、こいつが新着メールを調べるコマンドにfetchmailを指定しています。fetchmailの設定ファイルとして$HOME/.fetchmailrcはこのように記述しています。

defaults
smtphost localhost # 送信メールサーバのホスト名
#set daemon 300
poll 受信メールサーバのアドレス
# user "ユーザ名" there password "パスワード" is 転送先ユーザ名 here
protocol pop3 # あるいはimapなど
username ユーザ名
password パスワード
#mda "/usr/bin/procmail -p -f %F" # 指定しなければシステムのデフォルトが使用される
#keep
fetchall # 新着、既読関わらずメールをすべてDLする
#no rewrite
#no mimedecode
#set postmaster ポストマスターのユーザ名
#set no bouncemail
set logfile .fetchmail.log # ログファイル名
#set syslog # システムログをとるかいなか

デーモンモードで起動することも可能ですが、メールチェッカ側で一定時間毎にfetchmailコマンドを実行しているためデーモン起動の意味は無いと判断しました。
で、これで一応メールは取得できるのでいいかーと思って溜まっていたメールを受信したのですが、内容にビックリ。迷惑メールの多いこと多いこと^^; 以前からまぁ入ってくるには入ってきていたのですが、雲泥の差です。先にも書きましたように、以前はこの構成にさらにアンチスパムを挟んでいたため、そこでかなりの数シャットアウトしていたようです。thunderbirdのベイジングフィルタも十分機能しますが、そもそも誤認されるスパムメールは少ないに越したことはありませんしね。
ということで、以前のようにスパムフィルターを導入することに。使用するスパムフィルターはspamassassinです。こちらの設定は13Hz! Postfix + SpamAssassin + DovecotでMaildirなメールサーバーを参考にしました。当時参考にした記事そのままですので、ちょっと古いですが、おおよそこのままで問題ありませんでした。
これらの設定でもって、スパム対策も含めて設定を復元出来ました。案外簡単に終わったかな? 新規で入れても環境復帰に1日ちょっとしか掛からないもんなんだなぁ。まぁhomeディレクトリはそのまま残してるからなお早いってのはあるけれど。
これならOSアップグレードじゃなくてちゃんと入れ直した方が精神衛生上よろしいかもしれないなぁ。どっちみちアップグレードでも1日仕事なんだし。
までも、Fedoraは更新早いから、2回か3回に1度、くらいがベターかも。1年に1度新規で入れ直すくらいの方が楽かな。半年に1度新規で入れ直すのはさすがに骨が折れそうだ(苦笑)