AWSコンソールからSES(Simple Email Service)を利用したメール送信
ユースケース
自分でメールサーバーを構築せずにメール送信サービスを利用したい時にSES(Simple Email Service)を利用する。なお、SESはセキュリティに都合上、運用前に審査があるため環境は早めに構築するのが望ましい。以下にSESを利用する手順を記載する。
SESのリージョンを選択
TokyoリージョンではSESのサービスは提供されていないので米国東部(バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)のいずれかのリージョンを選択してサービスを利用する。
送信元Emailアドレスを登録
- Email Address > Verify a New Email Address
- 送信元Emailアドレスを入力してVerify This Email Addressをクリック
- 送信元Emailアドレスに確認メールが届くので、メールに記載されているURLをクリックする
テストメールの送信
実際にメールが送信できるかどうかを確認する。この段階では送信元と同じEmailアドレスにしか送信できないことに注意。AWSに申請を行うことでこの制限を解除することができる。
- EmainAddress一覧のメールを選択し、Send a Test Emailをクリック
- Toに登録したアドレスを設定。SubjectとBodyには任意の内容を記載。
- Send Test Emailをクリックしてメールが届いているかどうかを確認する。
SPF設定
送信するメールがスパムメールと判定されないためにSPFとDKIMの設定を行う必要がある。SPFは送信元のIPアドレスが不正ものでないかどうかを検証するもので、DKIMは電子署名を使用して送信者を証明するものである。
SPF設定は以下の手順で行う。
- 送信元Emailアドレスを管理するDNSサーバーへアクセス
- 以下のTXTレコードを登録する
//新規登録の場合 txt @ v=spf1 include:amazonses.com ~all //既存のものがある場合は以下のようにスペース区切りで追記(xxxは既存のレコード) txt @ v=spf1 xxx include:amazonses.com ~all
SPFと動作確認
port25.comが提供するサービスにSPFのチェックを行えるツールがあるのでそちらを利用する。
下記のメールアドレス宛にテストメールを送信する。
check-auth@verifier.port25.com
返信メールが届くのSPF checkとDKIM checkがPassになっていればOK。
返信メールを一部抜粋 ========================================================== Summary of Results ========================================================== SPF check: pass
DKIM設定
DKIM設定は以下の手順で行う。
- AWSコンソールからSESにアクセス
- Email Address > メールアドレスを選択
- DKIM > Generate DKIM Settingsを選択
- 出力されたCNAMEのレコードセットを送信元Emailアドレスを管理するDNSサーバーに登録する。
- DKIM Verification StatusがVerfiedになるまで待つ(最大72時間待つことになる)。とはいえ、大体2-3時間も待てばVerfiedになるのでもし2-3時間まってもVerfiedにならない場合、DNS名の設定が誤っている可能性が高いので再度見直す。
バウンスや苦情の設定
Amazon SESでは、E メールのフィードバック転送というプロセスを利用してバウンスや苦情を通知してくれる。開設当初はこれで問題ないが通知メールの数が多くなると管理が大変になるのでSNSを利用した自動化プロセスを検討したほうが良い。
正式利用に向けた申請
設定が終わったらAWSに正式利用の申請を行う。この申請を行うことで任意のメールアドレスにメールが送信できる。
- Sending Statistics > Request a Sending Limit Increase
- 必要事項を記入し申請する。申請内容に問題なければ1日程度で許可が下りる。