【AWSで独自ドメイン、TLS/SSLのWordPress (17)】SESの設定

AWS

【AWSで独自ドメイン、TLS/SSLのWordPress】シリーズの 17 回目の投稿です。

これまでの (1) 〜 (15) の設定により、AWS の EC2 インスタンス上で稼働している WordPress に対して独自ドメイン、かつ HTTPS でアクセスできるようになりました。

ここでは、AWS の EC2 インスタンス上で稼働している WordPress から Gmail のメールアドレスにメールを送信する設定を行います。

メール送信は、AWS Simple Email Service (SES) を使用します。

なお、今回のメール送信の範囲は、送信元と送信先のメールアドレスが同じ場合のみです。

AWS SES でのメールアドレスの認証

AWS マネジメントコンソールを開き、Simple Email Service に入ります。私は普段は東京リージョンを使用していますが、2020 年 4 月時点、Simple Email Service は東京リージョンは未サポートです。そのため、Simple Email Service だけは米国西部のオレゴンリージョンで使用することにしました。

(2021 年 5 月追記) ・・・ということだったのですが、東京リージョンでも SES を使用できるようになっていました。

SES Home で Email Addresses をクリックし、Verify a New Email Address ボタンをクリックします。

Verify a New Email Address 画面が表示されます。メールを送信したいメールアドレスを入力し、Verify This Email Address ボタンをクリックします。今回は Gmail のメールアドレスを使用します。

Verification Email Sent 画面が表示されます。

Verification Status が pending verification となります。

Gmail のメールボックスを確認すると、AWS オレゴンからメールが届いていました。メールのメッセージ中に記載されているハイパーリンクをクリックします。

AWS の画面で、検証に成功しましたと表示されます。

SES Home に戻ると、Verification Status が verified になりました。

続いて、認証されたメールアドレスからメール送信できるかを確認します。メールアドレスにチェックを入れ、Send a Test Email ボタンをクリックします。

Send Test Email 画面が表示されます。From と To のメールアドレスを同じにして Send Test Email ボタンをクリックします。

Gmail のメールボックスを確認すると、テストメールを受信していました。

AWS SES の SMTP 認証情報の作成

SES Home で SMTP Settings をクリックします。Using SMTP to Send Email with Amazon SES 画面が表示されます。Create My SMTP Credentials ボタンをクリックします。

IAM User Name が自動で設定されます。

IAM User Name は変更することができます。作成ボタンをクリックします。

認証情報ダウンロードボタンで認証情報をダウンロードできるようになります。ユーザーの SMTP セキュリティ認証情報を表示をクリックすることでブラウザに認証情報を表示することもできます。

認証情報は下図のように表示されます。

WordPress で AWS SES を使用したメール送信の設定

WordPress で AWS SES を使用したメール送信の設定を行います。

WordPress でメールを送信するためのプラグインである WP Mail SMTP を使用します。WordPress のメニューのプラグイン新規追加でキーワード検索します。私の環境では既にインストールされていました。しかし、最新のバージョンではなかったようで、今すぐ更新を実行しました。

WordPress のメニューのプラグインインストール済みプラグインで、WP Mail SMTP の有効化をクリックします。

有効化されると、WordPress のメニューに WP Mail SMTP が表示されるようになります。設定をクリックします。

WP Mail SMTP の設定をお行います。送信元アドレスには、AWS SES で認証した Gmail のメールアドレスを入力します。

メーラーでは Other SMTP を選択します。AWS SES も表示されていますが、有料オプションです。私はこのプラグインを無料で使用しているため、AWS SES を選択できません。

Other SMTP の SMTP ホストには、AWS SES の Using SMTP to Send Email with Amazon SES の Server Name を記入します。暗号化では TLS を選択します。SMTP ポートには 587 を入力します。認証は ON します。SMTP Username と SMTP Password には、AWS SES の Using SMTP to Send Email with Amazon SES の My SMTP Credentials (認証情報) を記入します。

メールのテスト送信を行います。Email Test タブをクリックします。Send to には送信元アドレスと同じメールアドレスを設定します。Send Email ボタンをクリックします。

Gmail のメールボックスを確認してみます。WP Mail SMTP からのメールが届いていました。

これで、AWS の EC2 で稼働している WordPress から Gmail のメールアドレスでメールを送信することができました。