BackEnd

Laravelでメールを送る

投稿日:

はじめに

サービス登録時にメールを送ることがよくあると思います。今回はLaravelでメールを送る方法として比較的簡単なGmailを使った方法を紹介します。

準備

事前にGmailアカウントを作成し、Googleアカウントのセキュリティから、安全性の低いアプリからのアカウントへのアクセスを許可しておいてください(本番で使う場合はアプリパスワードを発行するほうが良いです)

実装

ユーザ登録時に招待メールを送るというシチュエーションを想定して解説していきます。

Mailableクラスの作成

メールの送信はmailableクラスを通して行います。以下のコマンドで作成します。

このコマンドを実行すると、 app/Mail ディレクトリに UserRegistered.php が作成されます。

テンプレートの作成

mailableクラスを作成したら、メールのテンプレートを作成します。メールのテンプレートは resources/views ディレクトリの中であればどこに配置しても構いません。今回は emails/users ディレクトリを作成し、その中に registered.blade.php を作成します。

作成したBladeファイルは以下のように実装します。

Mailableクラスの修正

テンプレートを作成したら、 UserRegistered クラスを以下のように修正します。なお、Userクラスは事前に作成してあるものとします。

mailableクラスで定義したpublicプロパティは、Bladeテンプレートでそのまま利用することができます。

コントローラの作成

コントローラにメール送信処理を実装します。コントローラは以下のコマンドで作成できます。

作成したコントローラを以下のように修正します。

コンフィグの修正

最後に.envを以下のように修正します。MAIL_USERNAMEとMAIL_PASSWORDは作成したGmailの設定に沿って変更してください。

さいごに

Laravelからメールを送る方法として比較的簡単なGmailを使った方法を紹介しました。

おすすめ書籍

初めてのPHP PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応 JavaScript コードレシピ集 Vue.js入門 基礎から実践アプリケーション開発まで

blog-page_footer_336




blog-page_footer_336




-BackEnd
-,

執筆者:


comment

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

CAPTCHA


関連記事

js

TypeScriptでJavaScriptのライブラリを使用するには?

1 はじめに2 対応方法2.1 npmで@typesからインストールする2.2 自分で型定義ファイルを作る3 Declaration Space3.1 Type Declaration Space3. ...

rails

RailsでS3に画像をアップロードする

1 はじめに2 今回やりたいこと3 下準備3.1 ImageMagickをインストールする3.2 Gemをインストールする4 レコード生成時にファイルを指定してアップロードする4.1 アップローダを作 ...

laravel logo

Laravelのバリデーションtips

1 はじめに2 配列のバリデーションでRule::uniqueを使う時のカラム名を指定したい3 配列バリデーションのエラーメッセージ制御4 カスタムバリデーションで、他の属性名を参照したい5 番外:複 ...

laravel logo

Laravelで認証APIを作る

1 はじめに1.1 条件1.2 JWTとは2 準備2.1 認証機能を有効化2.2 jwt-authのインストール2.3 コンフィグファイルの作成2.4 secretの作成3 Userモデルを修正4 g ...

rails

Shrineをモデルに関連付けないで使用してハマったこと

1 はじめに2 アップロード時にリサイズする3 アップロード時のバリデーション4 アップロード時に古いファイルを削除する5 さいごに はじめに ShrineはRailsでのアップロードを簡単に行えるよ ...

フォロー

blog-page_side_responsive

2019年4月
 123456
78910111213
14151617181920
21222324252627
282930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。