2020/08/12
以前、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」をクリック。
次の画面で右下の「作成」をクリック。
これで認証用の「ユーザー名」と「パスワード」が作成されます。
5.IAMユーザーのアクセスキー作成
マネジメントコンソールのホーム画面に戻って「iam」と検索。
サイドメニューの「ユーザー」をクリックして、ユーザー名(SESのwrite権限のあるユーザー)をクリック。
「認証情報」のタブをクリックして「アクセスキーの作成」ボタンをクリック。
「アクセスキーID」と「シークレットアクセスキー」を確認。
(※Laravelの.envファイルの設定で使うので、どこかにメモしておきます。)
AWS側の作業はこれで以上になります。
次回はLaravel側の作業について紹介します。
PHPフレームワーク Laravel入門 第2版
僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2020年8月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。口コミでもLaravel本のロングセラー定番解説書として認知されています。当サイトではチュートリアル形式でLaravelを解説しているので、初心者の方はこの本とセットで学習されるといいと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は 独習PHP 第3版 をあわせて購入することをお勧めします。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。