【AWS】Route53 に「お名前.com」取得の独自ドメインを登録して Amazon SES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

公開日時:2018年11月10日 / 最終更新日時:2020年08月15日

今回は「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録して Amazon SES(Simple Email Service)で SMTP プロトコルでメールを送信する手順を解説します。

最終的には Linux マシンよりコマンドラインでメールを送信できるように設定します。

 

過去には SES を利用してメールを受信する手順を解説しました。

 

【AWS】Route53に「お名前.com」取得の独自ドメインを登録してSES(Simple Email Service)で無料でメールを受信する手順

 

以下の記事が SES を利用してメールを送信する手順の最新版です。

【AWS】Route53 に「お名前.com」取得の独自ドメインを登録して Amazon SES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

「お名前.com」で取得した独自ドメインを Route 53 に登録する

「お名前.com」で取得した独自ドメインを「Route 53」に登録します。

手順は、以前お名前.com で取得した独自ドメインを Amazon Route 53に登録する手順を解説した記事を作成したので、こちらを参考にしてドメインを登録します。

 

【AWS】お名前.com で取得した独自ドメインを Amazon Route 53 で名前解決して EC2 インスタンスの Web サーバーにアクセスさせる手順]

 

 

AWS 管理コンソールにログインし「サービス」より「ネットワーキング&コンテンツ配-「Route 53」をクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「DNS management」「Get started now」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

左側ペインより「Hosted zones」をクリックし「Create Hosted Zone」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

「Created Hosted Zone」ボタンをクリックして下図のように「You have no hosted zones」のメッセージが表示されたら再度「Create Hosted Zone」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

Create Hosted Zone の画面が表示されたら以下のように設定します。

設定が完了したら「Create」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

登録が完了すると、下図のように AWS のネームサーバーが4つ表示されます。

この4つのネームサーバーを以下の手順で「お名前.com」に登録します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

 

「お名前.com」のネームサーバーに登録する手順

「お名前.com」のドメイン Navi にログインします。

 

ログインしたら下図のように「ドメイン一覧」タブをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

下図のようにドメイン一覧が表示されるので、対象のドメインの「ネームサーバー」「変更する」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

下図のように「ご登録情報に変更・相違はありませんか?」の確認画面が表示されるので「登録情報は正しいので、手続きを進める」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「他のネームサーバーを利用」タブをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

下図のように Route 53 で指定された 4つのネームサーバー情報を入力します。

入力したら「確認画面に進む」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

「設定する」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

下図のように「ネームサーバーの設定 完了」画面が表示されることを確認します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

Amazon SES(Simple Email Service)での設定手順

ここから Amazon SES(Simple Email Service) の設定をします。

 

Amazon SES(Simple Email Service) とは

Amazon SES は、メール送信メール受信の両方が可能です。

 

過去に SES を利用してメールを受信する手順を解説しました。

今回は SES を利用してメールを送信する手順を解説しています。

 

【AWS】Route53に「お名前.com」取得の独自ドメインを登録してSES(Simple Email Service)で無料でメールを受信する手順

 

■料金

SES の料金ですがスパムメール並みにメール送信をしなければ低価格に抑えることができます。

 

 

■メール送信形式

SMTP エンドポイントを利用する場合です。

 

HTTP REST API を利用する場合です。

 

 

Amazon SES(Simple Email Service)での設定手順

AWS の管理コンソールにログインし「サービス」より「カスタマーエンゲージメント」-「Simple Email Service」をクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

2018年11月現在、東京リージョンでは「Amazon SES(Simple Email Service)」は提供していないので、今回は「米国東部(バージニア北部)」を選択します。

SES 利用可能リージョン(2019年8月現在)

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

※Simple Email Service が東京リージョンでサービス開始しない理由ですが、AWS Summmit で AWS のエンジニアの方に聞いたところ、日本のキャリア3社(NTT Docomo、KDDI au、Softbank)のキャリアメールの関係でなかなか東京リージョンでサービスを開始できないと話していました。(正確な情報なのか不明なので注意)

 

 

 

SMTP 認証アカウントを作成します。

SES のホーム画面より左側ペインの「SMTP Settings」をクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「Create My SMTP Credntials」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

IAM ユーザー名(下図はデフォルトのユーザー名です)を確認し「作成」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「認証情報のダウンロード」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

認証情報が記載されている CSV ファイルをダウンロードすると以下のような形式で「SMTP ユーザー名」「SMTP パスワード」が記載されています。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

 

ドメイン認証をする

次に「ドメイン認証」をします。

Amazon SES でのメールの送受信に使用するドメイン(例えば、tama-chan.com など)に関しては、自身がそのドメインを所有していることを証明する必要があります。

インターネットサービスプロバイダ(ISP)と Amazon SES の信頼関係を維持するために、Amazon SES は送信者が本人であることを確認する必要があります。

したがって、送信者は送信アイデンティティを保護するために、Amazon SES 経由で送信するメールの送信元となるすべてのメールアドレスを確認する必要があります。

 

認証には以下の2種類があります。

まずは新規ドメイン(xxxxxxxx.com)を Route 53 に登録している状態なので「ドメイン認証」を行います。

※ただし後ほど特定のメールアドレスにメール送信するため、メール認証もします。

 

SES(Simple Email Service)のホーム画面より左ペインの「Dmains」をクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「Verify a New Domain」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

「Verify a New Domain」画面で以下の情報を入力します。

「Verify This Domain」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

DKIM(Domain Keys Identified Mail)とは

DKIM とは

①正当ドメイン保持者からメール送信されたことをチェックする

②改ざんされていないメールかどうかをチェックする

デジタル署名方式の送信元ドメイン認証技術のことを言います。

 

送信元と受信側で以下の役割を持っています。

 

 

 

以下のように「DKIM Record Set」が生成されることを確認します。

続けて、このドメインを「Route 53」に登録します。

「Use Route 53」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

設定直後は以下のように「pending」になっています。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

ドメイン認証の確認

24時間程度待ち、以下のようなステータスになっていることを確認します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

送信メールアドレスの登録

AWS SES で送信するメールアドレスを登録します。

 

SES のホーム画面より左側ペインの「Email Address」をクリックし「Verify a New Email Address」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

「Verify a New Email Address」画面で、送信するメールアドレスを入力します。

※送信するメールアドレスは例えば「tama-chan.com」なら「test@tama-chan.com」などになります。

 

入力したら「Verify This Email Address」ボタンをクリックします。

 

 

 

 

「Verification Email Sent」画面を確認し「Close」ボタンをクリックします。

 

 

 

登録直後は下図のように「pending verification(resend)」の状態になっています。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

S3 でメールを受信して認証する

先ほど新規でドメインを登録して送信メールアドレスの認証を行ないましたが、認証するためには登録したメールアドレスに対して送信されたメールを受信して開く必要があります。

まだこの段階でメール受信サーバが構築していない場合は S3 でメールを受信して認証することができます。

 

 

SES ダッシュボードの左側ペインより「Rule Sets」-「Create a New Rule Set」ボタンをクリックします。

 

 

 

 

 

「Rule set name(ルールセット名)」を入力して「Create a Rule Set」ボタンをクリックします。

 

 

 

 

 

続けて「View Active Rule Set」ボタンをクリックします。

 

 

 

ルールセットは作成しましたが、まだルールが存在しない状態です。

「Create Rule」ボタンをクリックします。

 

 

 

 

受信するメールアドレスのドメイン(例えば、user01@tama-chan.com なら tama-chan.com など)を入力し「Add Recipient」ボタンをクリックします。

 

 

 

 

 

 

ドメインが登録されたことを確認し「Next Step」ボタンをクリックします。

 

 

 

 

 

 

 

S3 バケットを設定し「Next Step」ボタンをクリックします。

 

 

 

 

 

「Rule name(ルール名)」を設定し「Next Step」ボタンをクリックします。

 

 

 

 

 

内容を確認し「Create Rule」ボタンをクリックします。

 

 

 

 

 

ルールセットが「Enabled」の状態になっていることを確認します。

 

 

 

 

 

S3 にメールが受信していることを確認します。

「ストレージ」「S3」をクリックします。

 

 

 

 

 

下図のようにメール(ファイル)が受信されていることを確認し、チェックを入れて「ダウンロード」ボタンをクリックします。

※ファイルが存在しない場合は、再送信します。

 

 

 

 

 

下図のようなメールを受信したことを確認します。

 

 

 

 

以下のリンクをクリックして認証を完了させます。

 

 

 

 

 

 

 

リンクをクリックすると下図のように「検証に成功しました」メッセージが表示されます。

 

 

 

 

 

下図のようにステータスが「Verified」になっていることを確認します。

 

 

 

 

 

受信メールアドレスの登録

AWS に利用申請しない場合はサンドボックス(Sandbox)環境でしか利用できません。

(AWS SES に登録したメールアドレスだけしかメールを受信できません)

 

つまり、アカウントが Amazon SES サンドボックスにまだある場合は、すべての受取人のアドレス(送信メールアドレスだけでなく、受信メールアドレス)も確認する必要があります。

 

後程 AWS に利用申請を出しますが、ここではサンドボックス用の受信メールアドレスを登録します。

ここで登録するのは送信メールアドレスではありません。

今回の場合は送信メールの認証ではなく「ドメイン認証」をしています。

 

SES のホーム画面より左側ペインの「Email Address」をクリックし「Verify a New Email Address」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

「Verify a New Email Address」画面で、受信するメールアドレスを入力します。

※受信するメールアドレスは例えば「tama-chan.com」なら「test@tama-chan.com」など GMAIL でもプロバイダメールでも問題ありません。

入力したら「Verify This Email Address」ボタンをクリックします。

 

 

 

 

「Verification Email Sent」画面を確認し「Close」ボタンをクリックします。

 

 

 

 

 

登録直後は下図のように「pending verification(resend)」の状態になっています。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

AWS より以下の確認用のメールが届いているか確認し、リンクをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

リンクをクリックすると以下のメッセージが出力されます。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

メール確認用の URL をクリック後に再度メールのステータスを確認し「verified」に変わっていることを確認します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

mailx コマンドでのメール送信手順

SES 側の設定が完了したので、最後に mailx コマンドでメール送信確認をします。

mailx コマンドがインストールされた Linux サーバにログインします。

[root@ip-172-31-38-38 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo) ← RedHat Linux の 7.5 です。
[root@ip-172-31-38-38 ~]# rpm -qa | grep mail
mailx-12.5-19.el7.x86_64 ← mailx コマンドがインストールされています。
[root@ip-172-31-38-38 ~]#

 

もし mailx コマンドがインストールされていない場合は以下のコマンドで mailx コマンドをインストールします。

[root@ip-172-31-38-38 ~]# yum install mailx

 

 

以下のように mail(mailx)コマンドを実行するアカウントのホームディレクトリに「.mailrc」ファイルを作成します。

[root@ip-172-31-38-38 ~]# pwd 
/root 
[root@ip-172-31-38-38 ~]# ls -la 
total 44 

 

~ 省略 ~

-rw-r--r--.  1 root root  288 Nov  7 14:23 .mailrc 

 

~ 省略 ~

 
[root@ip-172-31-38-38 ~]# cat .mailrc 
set smtp-use-starttls 
set smtp=smtp://email-smtp.us-east-1.amazonaws.com:587 
set smtp-auth=login 
set smtp-auth-user=AXXXXXXXXXXXXXXXXXA 
set smtp-auth-password=AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXu 
set ssl-verify=ignore 
set nss-config-dir=/etc/pki/nssdb/ 
set from=test@xxxxxxx.com ← 登録したドメインでのメールアドレス(test@xxxxxxx.com) 
[root@ip-172-31-38-38 ~]#

 

 

 

 

以下のように mailx コマンドを実行します。

[root@ip-172-31-38-38 ~]# echo "メール本文です。最後にピリオドを追加します。." | mail -v -s "タイトルを入力します。" xxxx@gmail.com
Resolving host email-smtp.us-east-1.amazonaws.com . . . done.
Connecting to 23.21.231.227:587 . . . connected.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-3891618935 S3F8HvgcRYLx5FmFBH7y
>>> EHLO ip-172-31-38-38.ap-northeast-1.compute.internal
250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-STARTTLS
250-AUTH PLAIN LOGIN
250 Ok
>>> STARTTLS
220 Ready to start TLS
Error in certificate: Peer's certificate issuer is not recognized.
Comparing DNS name: "email-smtp.us-east-1.amazonaws.com"
SSL parameters: cipher=AES-256-GCM, keysize=256, secretkeysize=256,
issuer=CN=Amazon,OU=Server CA 1B,O=Amazon,C=US
subject=CN=email-smtp.us-east-1.amazonaws.com
>>> EHLO ip-172-31-38-38.ap-northeast-1.compute.internal
250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-STARTTLS
250-AUTH PLAIN LOGIN
250 Ok
>>> AUTH LOGIN
334 VXNlcm5hbWU6
>>> QUtJQUlJUkc1MzRRQUVPSDRLQUE=
334 UGFzc3dvcmQ6
>>> QWdpOXBla1Z2N3FqTlJvcC9Dem9lU1NLMTlBNUY2dHlFbi9EQUU5dVhKU3U=
235 Authentication successful.
>>> MAIL FROM:<test@xxxxxxx.com>
250 Ok
>>> RCPT TO:<xxxxxxxx@gmail.com>
250 Ok
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Ok 01000166fbfee631-a5108f5f-b03e-401b-bc8c-44fe38be278d-000000
>>> QUIT
221 Bye
[root@ip-172-31-38-38 ~]#

 

 

 

メールが送信されていることを確認します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

 

 

Amazon SES のメール送信数制限を解除して本運用する場合の手順

今までサンドボックス(Sandbox)環境での設定について説明ましたが、メール送信について制限がありました。

以下より Amazon SES のメール送信数制限を解除して本運用する手順を解説します。

 

サンドボックス環境では以下のようにメール送信に関して制限されています。

※社内のチーム環境やグループ内ならこれでも十分なレベルです

メールの送信解除を依頼する場合は SES のホームページより左側ペインの「Sending Statistics」をクリックし「Request a Sending Limit Increase」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

以下のように「ケースの作成」画面が表示されるので解除してほしい制限と具体的な制限値を入力します。

また「申請理由の説明」に理由を記述します。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

 

 

設定が完了したら一番下の「送信」ボタンをクリックします。

【AWS】「お名前.com」で取得した独自ドメインを Amazon Route 53 に登録してSES(Simple Email Service)で SMTP プロトコルでメールを送信する手順

 

リクエストを送信したら AWS サポートからの回答を待ちます。

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Secured By miniOrange