IPフィルタ、ドメイン偽装などはひとまず触れません。
ケータイのドメインのみ受信し、それ以外はスパム候補として別アドレスに転送する設定をしました。
今回は、少しややこしいのですが、このフィルタリングをしたメールをメールボックスおよびalias転送をします。
システムの構成や細かな要件によっては他にもやり方はあると思います。
今回の構成は次の通り。
|送信元| ↓ |Postfix| <フィルタリング> ⇒info@doubt.spam ↓ ↓ MBox info@alias.to
まず、許可ドメインのアクセステーブルを作成します。
※ファイル名は任意です # vi /etc/allow_domains indexweb.co.jp OK docomo.ne.jp OK vodafone.ne.jp OK disney.ne.jp OK softbank.ne.jp OK : # /usr/sbin/postmap /etc/allow_domains # ls -l /etc/allow_domains* -rw-r--r-- 1 root root 283 6月 23 18:39 /etc/allow_domains -rw-r--r-- 1 root root 12288 6月 23 18:39 /etc/allow_domains.db
次にNGドメインのテーブルを正規表現で記述します。
今回はregexpで作りましたが環境や流量によってはpcreでもいいかもしれません。
また、正規表現を工夫して特定地域ドメインだけをリダイレクトすることもできると思います。
※これもファイル名は任意です # vi /etc/redirect_domains /^.+@.+$/ REDIRECT info@doubt.spam # /usr/sbin/postmap /etc/redirect_domains # ls -l /etc/redirect_domains* -rw-r--r-- 1 root root 41 6月 23 18:51 /etc/redirect_domains -rw-r--r-- 1 root root 12288 6月 23 18:51 /etc/redirect_domains.db
最後にmain.cfに次のように記述してreloadします。
smtpd_sender_restrictionsの判定は、alias判定の前に行われるので、aliasesには影響を与えません。
smtpd_sender_restrictions = hash:/etc/allow_domains,check_sender_access regexp:/etc/redirect_domains # /usr/sbin/postfix check # /etc/rc.d/init.d/postfix reload
特定地域ドメインだけをリダイレクトし、それ以外は拒否するのであれば、smtpd_sender_restrictionsの最後に", reject"と追加するといいかと思います。(すみません、これは検証してません)