月間29,000PV達成! 収益は毎日発生中! ギランバレー症候群に関する情報を集めています

LaravelでMail送信のサンプルを作成してみた件

LaravelでMail送信のサンプルを作成してみた件
Advertisement

 

LaravelってAPIで利用しがちなので、そうなるとメール送信機能とかも普通に作ると思うんです

なので、一個サンプルがあると、なんかいいよね。

ってことで今回は、LaravelでMail送信のサンプルを作成してみました

 

僕のプロフィールはこちら

 

 

ソースコード

ソースコードは以下にあります。

本記事執筆後、リファクタリングをしたので内容に乖離があります。

参考までに。

■GitHub

URL:「https://github.com/izumin0401/laravel-app」

 

 

Mail送信サンプル作成手順、の前に

今回は実際のメール送信まではやりません(あくまでロジックを作成するだけ)。

メールサーバもないですし、Laravelはメールドライバを「log」に設定するとメールの内容をログに出力してくれるので、ログ上で確認もできますんで。

 

 

Mail送信サンプル作成手順

早速作っていきます。

まず、メールの設定ですが、基本的には「.env」と「config/mail.php」で設定されています。

で、ソースコードを書いていく前に、.envに必要な設定を書いておきます。

 

.envの設定

MAIL_FROM_ADDRESS」「MAIL_FROM_NAME」の設定を追記しました。

正味、「MAIL_FROM_NAME」はいらないんですけど、一応セットみたいなもんなんで。

 

平文メールの作成

Laravelでは平文メールとHTMLメールの2種類を作成できますが、HTMLみたいにこだわる理由もないので今回は平文メールを作成します。

 

↑が平文メールの内容になります。

メールはbladeで作成するので、当然変数の展開も可能です。

 

クラスの作成

Laravelには「Mailable」クラスという、メールを扱うクラスがあります。

これもphp artisanコマンドで作成できるのでサクッと作っていきます。

 

↑で「SampleMail」というクラスを作成しました。

 

 

まあまあ適当ですが、build関数内を少し修正しました。

 

コントローラの作成

本来ならロジックなどはサービスに書きたいところですが、説明の便宜上、コントローラにロジックを記載します。

 

 

ルーティングの設定

POSTされた時にコントーローラを呼ぶように追記しました。

 

 

こんな感じでルーティングが追加されています。

 

メール送信の前に

ログに出力するように設定を変更します。

 

MAIL_DRIVER」を「log」にすることで、ログにメールの内容が出力されます。

 

メール送信

laravel-mail

上記のようにPOSTで送信したら、200が返ってきました。

 

 

ログにも正しく出力されていますね。

完璧!

 

 

Advertisement

 

おすすめ書籍

僕はLaravelの勉強をするのに以下の書籍を購入しました。おすすめですよ!

 

 

 

まとめ

Laravelでメールの機能作るのって簡単ですね。

何よりドライバを「log」にすると、ログにメールの内容が出力されるっていうのが素敵ですね。

ではさいなら。

Travelerを知らないの?