はじめに
Amazon SESをメール送信サーバーとして、利用する際のSMTP認証情報の取得方法をまとめました
結論
IAMを作成後、シークレットアクセスキーからパスワードを生成すればOKです
前提
- Amazon SESの設定は完了しているものとします
- bashとopensslがインストール済
手順
- SES Homeの「SMTP Settings」を表示します(※1)
- 「Create My SMTP Credentials」をクリックして、SMTPのIAMを作成します(※2)
- シークレットアクセスキーからSMTP認証のパスワードを生成します(※3)
- 1〜3の情報を元に設定すれば、SMTP認証でメールの送信ができます
(echo -en "\x02"; echo -n 'SendRawEmail' \
| openssl dgst -sha256 -hmac $AWS_SECRET_ACCESS_KEY -binary) \
| openssl enc -base64
補足
- ※1 SMTP認証するために必要なサーバー、ポート、TLSの情報が記載されています
- ※2 作成したIAMのアクセスキーはSMTP認証のユーザー名と使用します。パスワードはシークレットアクセスキーから生成します
- ※3 TutorialMoreにて掲載されている生成コマンドを使用しています
まとめ
SMTP認証のパスワード生成の部分がつまづきました
Pythonの環境があれば、AWSのマニュアルどおりにパスワード生成まで行うことができるので、マニュアルを参考にしたほうがよいかと思います