Laravel6にメール設定(Amazon SES編 その1)

2020/03/23

以前、Laravel6 に MailGun を使ってメール送信をやりました。

今回はメールドライバを Amazon SES にしてメール送信をやってみます。

手順は以下の2つに大きく分かれます。

  • Amazon SES の設定(メールアドレス登録、SMTP credentials の設定)
  • Laravel側の設定(AWS sdkのインストール、.envの設定)

今回は Amazon SES 側の設定を解説します。

 

手順

1.リージョンを選択

AWSマネジメントコンソールで「ses」と検索します。

 
2020年3月現在、Amazon SESで東京リージョンはありません。

一番代表的なリージョンだと「バージニア北部」みたいなので「バージニア北部(us-east-1)」を利用します。

 

2.メールアドレス登録

メールアドレスを登録します。「to」も「from」も、ここで登録したメールアドレスでないと、うまく起動しません。

以下のようにボタンをクリックすると、メールアドレス登録用のダイアログが表示されます。

 
送信用のメールアドレスを入力して、「Verify This Email Address」をクリック。

 
登録した送信用メールアドレスに検証要求メールが届きます。承認するために、リンクをクリック。

 
認証に成功すると、「検証に成功しました」というメッセージがブラウザに表示されます。

 
マネジメントコンソールに戻ると、登録した送信メールアドレスの Status が Verified(検証済み)に変わっていることが確認できます。

 

3.Eメールの送信テスト(AWS側)

この時点では送信用のメールアドレス以外にEメールを送信できません。(サンドボックス状態)

Eメールの送信ができるか自分に送信テストしてみます。

「Send a Test Email」をクリック。

「From」と「To」は先ほど登録したメールアドレスを入力します。

メールボックスを確認すると、入力した通りのメールが届いていることが確認できます。

 

4.SMTP credentialsの設定

次はSMTP credentialsの設定をしていきます。

左メニューの「SMTP Settings」を選択。続いて、「Create My SMTP Credentials」をクリック。

次の画面で右下の「作成」をクリック。

これで認証用の「ユーザー名」と「パスワード」が作成されます。

この情報を元にLaravel側の.envファイルを設定すればOKかと思っていたのですが、上手くいきませんでした。(なんで?)
 

 
実際は、以下の作業で作ったキーの情報を設定したら上手くいきました。

 

5.IAMユーザーのアクセスキー作成

マネジメントコンソールのホーム画面に戻って「iam」と検索。

サイドメニューの「ユーザー」をクリックして、ユーザー名(SESのwrite権限のあるユーザー)をクリック。

「認証情報」のタブをクリックして「アクセスキーの作成」ボタンをクリック。

「アクセスキーID」と「シークレットアクセスキー」を確認。

(※Laravelの.envファイルの設定で使うので、どこかにメモしておきます。)

 
AWS側の作業はこれで以上になります。

次回はLaravel側の作業について紹介します。

 

速習 Laravel 6 速習シリーズ

Laravel6になったので、改めてLaravelの学習本をチェックしてみると、評価がかなり高い本を見つけました。Kindle版しか発売していませんが、値段が良心的(700円)だったので購入。以前までは掌田 津耶乃さんの『Laravel入門』を当ブログでは推薦していたのですが、ざっと一通り読んだ感想はこちらの本のほうがわかりやすいというのが正直な感想です。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は独習PHP 第3版をあわせて購入することをお勧めします。

Amazonで詳細を見る

オススメ

 

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-基礎知識