今回は、Amazon SES(Simple Email Service) を使用し、SMTPサーバーとしてメールを送信する設定を行いました。
サンドボックス内でも実施することができ、NW機器(FortiGate)やサーバーからメール送信ができるようになりました。
この記事では、サンドボックス環境での設定手順をまとめます。
本記事は筆者の検証環境に基づく情報であり、正確性・完全性を保証するものではありません。設定は自己責任で実施してください。
Amazon SESでメールアドレスを認証する
まずは Amazon Web Services の管理コンソールから Amazon SES を開きます。
リージョンの確認
SESはリージョンごとに管理されます。
今回は アジアパシフィック(東京)リージョン で構築しました。
メールアドレスの検証(サンドボックス環境では必須)
サンドボックス環境では、送信元・送信先ともに検証済みアドレスのみ利用可能 です。
- 左ペインから
「ID」>「 IDの作成」 をクリック - 「Eメールアドレス」を選択
- 使用したいメールアドレスを入力し、「IDの作成」を押下
認証メールの確認
入力したメールアドレス宛に認証メールが届きます。
入力したメールアドレス宛に、認証メールが届くので認証用のリンクを押します。
本文の真ん中にリンクがありました。
ステータスが「検証済み」になっていれば成功です。

※画像では複数のIDを登録していますが一番下のものが今回使用しているもので、IDタイプが「Eメールアドレス」で、IDステータスが「検証済み」となっています。
テストメールを送信する
検証が完了したら、SESからテストメールを送ってみます。
- 認証済みのメールアドレスをクリック
- 「テストEメールの送信」を押下
送信先(カスタム受信者)には、検証済みアドレスを指定してください。
※今回は、From-addressとカスタム受信者は同じもので設定しています。From-addressが違うものがよいかもしれませんが、一旦同じものとしています。

未検証アドレスを指定すると、下記のようなエラーが表示されます。
無効なコンテンツが含まれているため、メッセージを送信できません。
Email address is not verified. The following identities failed the check in region AP-NORTHEAST-1:XXXXXX@XXXX.com
メールの確認
正常に送信されるとメールが届きます。
ただし、私の場合は 迷惑メールフォルダに振り分けられました。
正確な原因までは調べていないのですが、メールのソースを見るとAuthentication-Results:のなかのdmarcがfailになっていました。dmarcの設定は今回まったくやっていないので、これが原因だと思います。なお、この記事ではそこまで対応はしていませんが、そのうち、実施してみたいです。
dmarc=fail (p=NONE sp=QUARANTINE dis=NONE)
SMTP認証情報を作成する
次にSMTP接続用の認証情報を作成します。
- SES画面から「SMTP設定」を押下
- 「SMTP認証情報の作成」をクリック

すると、IAM画面が開きます。
IAMユーザーの作成
基本的にはデフォルト設定のままで問題ないようで、なんの変更もせずに「ユーザーの作成」を実行すると、SMTP用の認証情報が生成されます。
この時に表示される下記の情報は必ず控えておきます。
- IAMユーザ名
- SMTPユーザー名
- SMTPパスワード
CSVファイルのダウンロードも可能なので、保存しておくと安心です。
これで一通りの設定は完了となります。
サーバー(FortiGate)側の設定
作成したSMTPサーバが実際に使用されることを確認するために今回は FortiGate にSMTP設定を行いました。

なお、CLIでも設定しますが設定自体はここでは取り上げないので、必要であれば他サイトの記事を参照ください。
ログインでログが飛ぶようにしてみると、ログイン時に正しくメールが飛ぶようになりました。
まとめ
Amazon SESのサンドボックス環境で設定を実施しました。ほかのサイトでは、基本的にサンドボックス環境だけで設定することがないため、調べながら実施しました。
