PR

Postfixでメールを特定の送信先以外に送信しないようにする

postfix Linux
postfix

開発サーバからお客様など外部の宛先へメールが送信されないように設定するにはどうしたらいいのかいろいろ調べました

対応は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

大丈夫みたいですねよし!

タイトルとURLをコピーしました