[AWS] 「SES」SESをSMTPサーバとして利用[Postfix]

SES(Amazon Simple Email Service)をSMTPサーバとして利用するために、Postfixを設定します。

※SESの設定は、「SES」Amazon SESの設定 を参照して下さい。

  • 「サービス」→「ビジネスアプリケーション」→「Simple Email Service」をクリックします。「SES Home」が表示されます。

1. SMTP認証情報の取得

SMTPの認証情報を作成します。
SESは東京リージョンで設定しているので、他のリージョンの場合には、読み替えて下さい。

  • 左側のメニューより「Account dashboard」を選択します。
  • 「Simple Mail Transfer Protocol (SMTP) settings」項目で、「Create SMTP credintials」をクリックします。
  • 「IAM User Name」欄にデフォルト名が入力されていますが、任意のユーザー名に変更します。
  • 「作成」ボタンをクリックします。

  • 「認証情報のダウンロード」ボタンをクリックすると、認証情報がCSVファイルでダウンロードされます。
  • 「ユーザーのSMTPセキュリティ認証情報を表示」をクリックすると、認証情報が画面に表示されます。

(例)※値はダミーです。
IAM User Name example-jp-ses-smtp-user
SMTPユーザー名 AKLA4G3PF6RIX8EAOANK
SMTPパスワード BJvlEPDsqW8RUKD4fDQzYgD8RyaCSUDFOszN6l/8ELpj

2. Postfixの設定

(1) main.cf
「main.cf」を編集します。
$ sudo cp /etc/postfix/main.cf{,.default}
$ sudo vi /etc/postfix/main.cf
ドメイン名を指定します。
mydomain = (ドメイン名)
myorigin = $mydomain
最終行の後に追記します。
###### Additional SES setting items #####
relayhost = [email-smtp.ap-northeast-1.amazonaws.com]: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 = may
smtp_tls_note_starttls_offer = yes

(2) sasl_passwd
SESのSMTP認証情報を登録しておく「sasl_passwd」を作成します。
$ sudo vi /etc/postfix/sasl_passwd
SMTP認証情報を入力します。
[email-smtp.ap-northeast-1.amazonaws.com]:587 (SMTP ユーザー名):(SMTP パスワード)
(例)
[email-smtp.ap-northeast-1.amazonaws.com]:587 AKLA4G3PF6RIX8EAOANK:BJvlEPDsqW8RUKD4fDQzYgD8RyaCSUDFOszN6l/8ELpj
データベースファイルを作成します。
$ sudo postmap hash:/etc/postfix/sasl_passwd
$ 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

  • Postfixを再起動します。
$ sudo systemctl restart postfix.service

(3) トラブルシューティング
Postfix 3系の場合にはエラーが発生して、送信できない場合があります。

(a) dsn=5.6.7 SMTPUTF8 is required
Postfix 3系で実装されたSMTPUTF8拡張を無効にします。
Postfixのmain.cfの最後に追記します。
# vi /etc/postfix/main.cf
smtputf8_enable = no

(b) dsn=4.7.0 no mechanism available
SMTP認証クライアントとしてCyrusをインストールします。
# dnf install cyrus-sasl cyrus-sasl-plain
Postfixの再起動を行います。
# systemctl restart postfix.service



最終更新:2025年04月03日 10:22