開発サーバからお客様など外部の宛先へメールが送信されないように設定するにはどうしたらいいのかいろいろ調べました
対応はPostfix ビルトインヘッダ・本体検査(header_checks)というものを使用します。
対応をおこなったのはPostfixバージョン:2.6.6です。
1.ビルトインヘッダ・本体検査の設定を有効にする
vi /etc/postfix/main.cf
547行目あたりのコメントを解除
header_checks = regexp:/etc/postfix/header_checks
2.正規表現で送信対象の設定を書く
設定ファイルの編集指定ドメインへの送信の場合はOK
それ以外のドメインへの送信はREJECT(メッセージ全体を拒否)
今回はGmailへのみ送信できるように設定しています
設定は末尾に追加します。
# vi /etc/postfix/header_checks /^To:.*@gmail.com/ OK /^To:.*/ REJECT
3.postfixを再起動
# /etc/init.d/postfix restart postfix を停止中: [ OK ] postfix を起動中: [ OK ]
4.メールを送信して確認
コマンドで送信してみます。
まずは送信できるはずのGmailへ送信して飛んでくるか確認
# mail -s test test@gmail.com body . EOT
続いて送信できないはずのyahooへ送信して飛んでくるか確認
# mail -s test test@yahoo.co.jp body . EOT
大丈夫みたいですねよし!