Laravel5.5 メール送信の実装

概要

メールの送信を手軽に実装したいと思い、Laravelの標準でついている機能で手軽なものがあったので紹介します。

LaravelにあるMailableというクラスを使って実装します。

Laravel 5.5 メール
 
例としてPasswordResetのメールを送信する部分を簡単に説明します。

 

ファイル準備

コマンドで

php artisan make:mail PasswordReset

生成したPasswordResetの中身を編集します。

// 日本語の文字化けが発生する場合下記を使用する
// use Swift;
// use Swift_Preferences;

public function __construct()
{
    // 日本語の文字化けが発生する場合下記を使用する
    // Swift::init(function () {
    //     Swift_DependencyContainer::getInstance()
    //         ->register('mime.qpheaderencoder')
    //         ->asAliasOf('mime.base64headerencoder');
    //     Swift_Preferences::getInstance()->setCharset('iso-2022-jp');
    // });
}

public function build()
{
    return $this->subject("件名")->view('/mail/pw_reset', compact(''));
}

 
上記の場合mail/pw_reset.blade.phpにメールの文面を作成します。
ここでPHPやHTMLでの記述が自由にできるので動的なメールが作れます。
 

.envの設定

MAIL_XXXXの部分にメールサーバーのポートなど各設定を記入します。

 

コントローラーでメール送信を実行

use Illuminate\Support\Facades\Mail;
use App\Mail\PasswordReset;
~~~

Mail::to($email)->send(new PasswordReset());

 

確認

成功。

管理ユーザー / 2018-09-11 / 123 / 0
このエントリーをはてなブックマークに追加

まだコメントがついていません。

ログイン不要でコメントの投稿ができます。