本記事では、AWS SESを使ってPostfixからメール送信する方法を解説します。
OB25(25番ポートブロック)環境でも、確実にメール送信できる構成です。
■ 構成
Postfix
↓
AWS SES(SMTP)
↓
外部メール(Gmail等)
■ 前提
・AWS SESの本番アクセスが許可されている
・ドメインを取得済み
・Ubuntu Server
■ ① SES SMTP情報の確認
AWSコンソール → SES → SMTP設定
以下を控えます:
・SMTPサーバー
・ユーザー名
・パスワード
■ 東京リージョン
email-smtp.ap-northeast-1.amazonaws.com
■ ② Postfix設定
sudo vi /etc/postfix/main.cf
■ 追記
relayhost = [email-smtp.ap-northeast-1.amazonaws.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_security_level = encrypt
smtp_tls_note_starttls_offer = yes
■ ③ 認証ファイル作成
sudo vi /etc/postfix/sasl_passwd
■ 内容
[email-smtp.ap-northeast-1.amazonaws.com]:587 SMTPユーザー:SMTPパスワード
■ 反映
sudo postmap /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd.db
■ ④ 再起動
sudo systemctl restart postfix
■ ⑤ 動作テスト
echo "test" | mail -s "test mail" あなたのメールアドレス
👉 Gmailに届けば成功
■ ⑥ ログ確認
tail -f /var/log/mail.log
■ よくあるトラブル
● メールが届かない
・SPF未設定
・DKIM未設定
・SESサンドボックス状態
● 認証エラー
SASL authentication failed
👉 認証情報ミス
● 接続できない
👉 ポート587が開いているか確認
■ ⑦ DNS設定(重要)
■ SPF
v=spf1 include:amazonses.com ~all
■ DKIM
👉 SESで有効化(自動)
■ DMARC
v=DMARC1; p=none;
■ セキュリティ
・認証情報は root のみ閲覧
・ファイル権限600
■ この構成のメリット
・OB25回避
・Gmail到達率向上
・安定運用
■ 本環境
・Ubuntu Server
・Postfix
・AWS SES
■ 関連記事
→ OB25対策まとめ
→ AWS SES申請テンプレ
→ メール到達率改善
→ DNS設定(SPF / DKIM / DMARC)

コメント