年末年始をmixi日記に残そう!おみくじひいてプレゼントGETのチャンス
sendmailにSPFを入れてみた全体に公開
2011年07月24日21:07
自宅のメールサーバはspamがひどいので、SPFを入れてみた。
http://ja.wikipedia.org/wiki/Sender_Policy_Framework

送信者のドメインからDNS問い合わせをして、IPアドレスが間違っているかどうか(つまり送信者がメールアドレスを詐称しているかどうか)をチェックする機能。

sendmailのlibmilterをビルド。

$ cd sendmail-8.14.3/libmilter/
$ ./Build
$ sudo ./Build install

そしたらsourceforgeからsid-filterをダウンロード。最新はsid-milter-1.0.0.tar.gz。
解凍してビルド。

$ tar zxf sid-milter-1.0.0.tar.gz
$ cd sid-milter-1.0.0
$ ./Build
$ sudo ./Build install

devtools/Site/site.config.m4を編集して「APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')」を追記してsendmailをビルド。

$ ./Build
$ sudo ./Build install

sendmail.mcを編集して「INPUT_MAIL_FILTER(`sid-filter',`S=inet:8891@localhost')dnl」を追記してsendmail.cfを作成。

$ sh Build sendmail.cf
$ sudo Build install-cf

sid-filterの起動をrc.localに追記。

/usr/bin/sid-filter -l -p inet:8891@localhost

sendmail再起動。

$ /etc/init.d/sendmail stop
$ /etc/init.d/sendmail start

幾つかメールを携帯と送受信して動作確認。
メールヘッダを確認。

Authentication-Results: ns1.webdb.co.jp; sender-id=pass header.from=hogehoge@dj.pdx.ne.jp; spf=pass smtp.mfrom=hogehoge@dj.pdx.ne.jp

これでサーバはできあがり。
あとは数日spamのヘッダを確認して、クライアント側でフィルタ設定すれば完了。
もし問題無ければ受信せずにサーバ側で弾くこともできるかな?