自宅サーバでSMTPサーバ(Postfix)を稼動させ、Procmail + SpamAssassin の組み合わせで最低限のスパム対策をしていたが、フィルタをいくら鍛えてもすり抜けるやつはすり抜けるので、スパムフィルタ機能の部分だけを Google アプリ 独自ドメイン向けにやらせてみることにした。
2週間ほど運用して様子を見てみたが、なんだかうまい具合にSPAM(スパム)フィルタとして運用することができているっぽいので備忘録がてら残しておくことにする。
今回の目的は、
1.余計な出費をせず
2.既存のメール受信環境への変更を最小限に抑えながら
3.超優秀なスパムフィルタリング機能を追加すること。
具体的には、以下のようなメールのルーティング?が可能になるようにDNSとPostfixを仕向けてみた。
abc@example.com ※1をGMailで受信
↓
スパムフィルタリング
↓
スパムメール以外を abcdef@xxx.example.com ※2に転送
↓
自宅メールサーバにて abcdef@xxx.example.com ※2を受信※1 表に出しているメールアドレス(公開用)
※2 自宅サーバで受信するメールアドレス(非公開用)
表に出しているメールアドレスと自宅サーバで受信するメールアドレスとは、ユーザ部分もドメイン部分もまったく異なるものに設定しておくのがミソ。
DNS変更のキモは、 example.com の MX レコードを GMail が指定したものに設定し、 xxx.example.com の MX レコードを自宅サーバに向けるよう設定することだ。これでDNS設定は終わり。
Postfix側では、 main.cf にて myhostname と mydestination を以下のように設定変更。
myhostname = example.com
↓
myhostname = xxx.example.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↓
mydestination = $myhostname, localhost
非公開のアドレス(abcdef@xxx.example.com)でちゃんと受信できるよう、必要であればaliasesもアップデートしておこう。
最後にGMailの設定画面で、すべての受信メールを abcdef@xxx.example.com に転送するように仕向けておけば、フィルタリング後のメールのみを転送してくれる。
これで、よほどのことがない限り自宅メールアドレス(abcdef@xxx.example.com)宛てに直接スパムメールが送られてくる事は皆無になるはずだ。なお普段メール送信する際は、今までと変わらずabc@example.com(公開アドレス)で送信するようにしておけばいい感じ。