メールの誤送信を防ぐ為に行った設定がこちら。25番ポートを閉じてメールを送信できないようにしていた。
sudo iptables -A OUTPUT -p tcp -m tcp --dport 25 -j DROP
sudo service iptables save
問題点
メールのテストができない。メール送信エラーとなりアプリケーション上で正常系ルートに到達しない。
対策
postfixのメールリレー設定で特定のメールアドレスのみをsmtpで送信し、それ以外は破棄する。こうすることで、メールの送信処理自体は正常に行われるが、特定のアドレス以外はメールが到達することがなくなる。
postfixの設定
Postfix ver 2.6.6
@gmail.com
のみメール送信を許可する設定です。サクッとsed
コマンドで追記します。
sudo sed -i -e "$ a transport_maps = hash:/etc/postfix/transport" /etc/postfix/main.cf
sudo sed -i -e "$ a gmail.com smtp:" /etc/postfix/transport
sudo sed -i -e "$ a localhost local:" /etc/postfix/transport
sudo sed -i -e "$ a localhost.localdomain local:" /etc/postfix/transport
sudo sed -i -e "$ a * discard: \"discard received email\"" /etc/postfix/transport
sudo postmap /etc/postfix/transport
sudo service postfix reload
参考
postfixでメール送信先ドメインを制限する
postfixのsmtpd_recipient_restrictionsの宛先制限はsendmailコマンド使用時には有効にならない