Amazon SESを利用してEC2(RHEL7)上のPostfixからメールを送信するための設定手順です。このガイドでは、SESの設定は扱いません。
1. 必要なパッケージのインストール
PostfixでSASL認証を使用するために、必要なパッケージをインストールします。
sudo yum install cyrus-sasl-plain
2. Postfixの設定
以下のコマンドを実行して、Postfixの設定を更新します。SMTPエンドポイントはAmazon SESコンソールで確認できます。
sudo postconf -e "relayhost = [SMTPエンドポイント]:587" \
"smtp_sasl_auth_enable = yes" \
"smtp_sasl_security_options = noanonymous" \
"smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \
"smtp_use_tls = yes" \
"smtp_tls_security_level = encrypt" \
"smtp_tls_note_starttls_offer = yes"
3. master.cfの編集
/etc/postfix/master.cf
ファイルを開き、存在する場合は以下の行をコメントアウトします。
-o smtp_fallback_relay=
4. SASLパスワードファイルの設定
/etc/postfix/sasl_passwd
ファイルにSMTP認証情報を追記します(ファイルがない場合は作成)。
[SMTPエンドポイント]:587 SMTPUSERNAME:SMTPPASSWORD
5. hashmapデータベースファイルの作成
以下のコマンドを実行して、hashmapデータベースファイルを作成します。
sudo postmap hash:/etc/postfix/sasl_passwd
6. ファイルの権限設定
適切な権限を設定して、セキュリティを確保します。
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
7. CA証明書の設定
PostfixがCA証明書を認識できるようにします。
sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
8. Postfixサーバの起動・再起動
最後に、Postfixサーバを起動または再起動します。
sudo postfix start
sudo postfix reload
以上で、Postfixを使ったAmazon SES経由でのメール送信の設定は完了です。