AWSでメールを送信したい場合は、AWSのメールサービスであるSES
を利用することができます。SES
を利用することで、自分でメールサーバなどを構築することなくメールを送信することができます。
そこで今回はSESを利用してメール送信する手順について紹介します。
念のためですが、メール受信ではなくメール送信のみです。
1. やりたい事(今回の範囲)
・固定された送信アドレスからメールを送信したい
・送信先のアドレスは決まっている数名で不特定多数のアドレスには送信しなくてよい
2. Amazon SESとは?
SESは「Simple Email Service」の略称です。
Amazon SESを利用することで任意のアプリからの電子メールの送信が可能です。
費用対効果が高く、高可用性・柔軟で、スケーラブルなSESサービスです。
3. SESでメール送信する手順
3.1. 必要となる情報
SESの利用に必要な情報は以下の通りです。
- AWSアカウント
- 送信元メールアドレス
- 送信先メールアドレス
AWSアカウントは持っている前提として、送信元と送信先のアドレスが必要です。
メールアドレスとして以前に作成した admin@syachiku.net
を送信元と送信先アドレスとして利用します。リージョンは東京で試してます。
エックスサーバーでメールアドレスを作成する【簡単手順】
https://syachiku.net/xserver-mail/#toc4
3.2. SESを利用するメールアドレスを検証する
SESでは適当なメールアドレスを送信元しては送信はできません。
そのため、まずSESで送信元として利用するメールアドレスが正しいかを確認(Verify)します。
SES
を開き「Create identify
」をクリックします。

「Email address
」を選択して、Email addressに送信元のアドレス(admin@syachiku.net)を入力します。

そうするとメールアドレスの検証のため、「admin@syachiku.net」
あてにAWSからメールが届くため、記載されているメール内のURLをクリックします。

「検証に成功しました」と表示されれば確認完了です。

Identity statusが Verifiedになっているはずです。

3.3. SESでSMTPの送信ユーザとパスワードを取得する
次にSMTPサーバを利用するためのユーザ設定を行います。
SESの「Account dashboard」
から「Simple Mail Transfer Protocol (SMTP) settings
」を開き、「Create SMTP credentials
」をクリックします。

SMTP送信に必要な権限を持つIAM User
を作成する必要があります。
デフォルトで日付などが入ってるユーザ名が表示されます。そのまま作成して問題ないかと思います。

進めるとIAMユーザーが作成されると共に、SMTPユーザー名
とSMTPパスワード
が表示されます。
これが重要な情報なので、忘れないようにメモします。

3.4. テストメールを送信する
それでは実際にテストメールを送信してみましょう。
まず、送信先に指定するSMTPサーバを確認します。
「Account dashboard
」から「Simple Mail Transfer Protocol (SMTP) settings
」内にあるSMTP endpoint
がSMTPサーバになります。

利用しているメーラー(この場合はThunderbird)にSMTPサーバとユーザ名、パスワードを設定します。ポート番号は587を設定して下さい。

テストメールとしてFrom:admin@syachiku.net から To:admin@syachiku.net に送信してみます。

届いた事が確認できました。(Webメール側で確認しました)

3.5. テストメールを送信する(Verifyされてないアドレス)
次にVerifyされてないアドレスに対してもメールできるか試してみます。

送信するとエラーになります。Verifyされてないとのエラーメッセージ(not verified)です。

4. SandBoxを解除する
このように現在はVerifitedされているアドレスだけに送信先が制限されているSandBoxという状態です。
送信先の制限を解除するには、AWSに対して申請をする必要があります。
という事で、次回は実際にSESのサンドボックスの解除の申請を行ってみたいと思います。
AWSを効率的に学習する方法
私が効率的にAWSを学習するために実施した方法は以下の通りです。
①最初に書籍(ハンズオンができる)を購入、座学でAWSの基礎を学習
②AWS資格試験を取得ための学習
※私の場合は①と②を合わせて2か月でソリューションアーキテクトを取得できました。
①AWS基礎学習
最初に購入した書籍は「Amazon Web Services 基礎からのネットワーク&サーバー構築」です。
Amazon Web Services 基礎からのネットワーク&サーバー構築

この本では、AWSの基本サービスを利用したハンズオンを通じて、AWSの基礎を学習することができます。
また、タイトル通りAWSのネットワークやインフラに関しても網羅しているため、もともとインフラ系の技術者ではない人たちにとっても分かりやすい内容だと思います。
とりあえずAWS上にサーバーを設定して開発を行うための準備までするには最良の一冊です。
Amazon Web Services 基礎からのネットワーク&サーバー構築
②AWS資格取得
AWSの基礎をある程度学習することができたら、次はAWS資格を取得しましょう。まずはAWSソリューションアーキテクトを目指しましょう。

資格勉強のための問題集をひたすら解きながら、AWSの知識を積み重ねて習得していきましょう!
苦行ではありますが、この問題集を3周ほどすればAWS用語や構成に関しても習得できているはずです。
今回は以上となります。
コメント