Webシステムサービスからメールを送信する機能を実装するために、Amazon SESを使用してメールを送信することがあります。
今回はそのAmazonSESの設定方法について記載しますが、色々と設定することがあるため、まずは基本的な設定について記載していこうと思います。
0. 準備
まず操作する開発用ユーザーの許可ポリシーに「AmazonSESFullAccess」を設定します。
またRoute53にドメインを登録した状態にしておいてください。
メール認証もありますが、今回はドメイン認証とします。
1. Amazon SESの設定
それでは「Amazon SES」が使えるように設定していきます。
- AWSコンソールで「Amazon Simple Email Service(Amazon SES)」の画面を開き「使用を開始」をクリックする。
- ステップ1の「メールアドレスを追加」では、存在するメールアドレスを入力します。
- 入力したメールアドレスに検証リンクが送られるため、ドメインが異なるメールアドレスでも問題ありません。
- ステップ2の「送信ドメインを追加」では、にRoute53で設定したドメインを入力します。
- 「MAIL FROM ドメイン」にはメール送信用のサブドメインを設定します。(「mail」など)
- ステップ3の「配信性能の強化 – オプション」では「Virtual Deliverability Manager」をONにして、残りの項目もONにしておきます。
- 設定を確認して「Get started」をクリックします
- 設定後に左メニューの「ID」から設定したドメインを選択して詳細画面を開きます。
- DKIMで「Route53に登録する」ボタンを押下して、DKIMの設定を行います。
- Route53側にCNAMEのレコードが登録されていることを確認します。
- しばらくするとドメインが「検証済み」となります。
- 同様にドメインの詳細画面で「DMARC」も「DNSレコードのRoute53への発行」をクリックします。
- Route53側にTXTのレコードが登録されていることを確認します。
これで一通り設定が完了しました。
もし設定が問題がある場合は「Virtual Deliverability Manager アドバイザー」で警告を出しますので、そちらに従って設定を行うようになります。
2. メール送信テスト
それでは実際にメールが送信出来るか確認しましょう。
この段階ではサンドボックスとして扱われ、送信が可能なメールアドレスは一部のみとなります。
現状では最初に登録したメールだけとなっており、他のメールアドレスには送信できませんので、新規に検証メールを追加する場合は以下の手順で追加します。
2-1. 検証メールの追加
- 左メニューから「ID」を選択して「IDの作成」をクリックします。
- 「IDタイプ」から「Eメールアドレス」を選択し、Eメールアドレスを入力します。
- 「IDの作成」をクリックすると、入力したメールに認証リンクが送られます。
そのURLにアクセスして検証を行います。
以上で検証メールの追加は完了となります。
2-2. メール送信テスト
- ドメインの詳細画面から「テストEメールの送信」をクリックします。
- 以下の設定でメールを送信します。
- From-address : 送信元のメールアドレス
- シナリオ : カスタム
- カスタム受信者 : 検証メールアドレス
- 他は任意です。
上記の方法でメールが届いていたら一旦は設定完了となります。
上記にも記載があるように現在サンドボックスとして扱われており、登録したメールのみしか送信が出来ません。
本番移行時にはサンドボックスから解除する必要があり、そちらの方法はまた別途記載したいと思います。