2020/08/12
以前、Laravelでのメール送信に関しての記事を書きました。
ただ、Laravelのバージョンが5.2が前提となっています。今となっては情報が古い記事となってしまいました。
そんなわけで今回はLaravel6での「メール送信」に関しての記事を新たにエントリーします。
ゴール
メールフォームを作成して、送信内容はログファイルに出力します。
・今回はローカルでの確認作業になります
手順
ルーティング
HTTPリクエストに対するルーティング設定を行う場合は laravel/routes/web.php
で行います。
「入力画面」「確認画面」「完了画面」を作成していきます。
ここではLaravelでのフォームの作成については詳しく取り上げません。
詳しく知りたいかたは以下のページをご参考ください。
入力 → 確認 → 送信画面のテンプレ(お問い合わせフォーム)
コントローラの作成
スケルトンの作成。
ソースコードの解説はコメントにて記述しています。
Mailable
をフルパスに記述しないとnot foundエラーとなりました。その場合は以下のようにフルパスで記述してあげます。
(※もしくは
$ composer dump-autoload
を実行すると上手くいくかもしれません)
ビューの作成
フォームはBootstrap4を使って作成します。
テンプレートを用意しているので、よかったら参考にしてください。
入力画面
確認画面
完了画面
メールクラスの作成
Artisanコマンドでメールクラスのスケルトンを作成。
上記のコマンドを実行すると、app/mail
に ContactMail.php
ファイルが作成されます。
下記のように中身を入れていきます。
text
メソッド → 平文テキスト版のメールview
メソッド → HTML版のメール
メール本文の作成
resources/views/contact/mail.blade.php
というファイルを作成します。
内容は以下のように記述します。
ログファイルの設定
メールは実際に送信せず、ログに出力させます。
メール送信のドライバは log
に設定します。
プロジェクト直下にある .env
ファイルを以下のように編集。
ログファイルを日付ごとに変更します。
config/logging.php
に stackチャンネル に channnels という設定箇所があります。
配列に daily を設定します。
以上です。
PHPフレームワーク Laravel入門 第2版
僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2020年8月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。口コミでもLaravel本のロングセラー定番解説書として認知されています。当サイトではチュートリアル形式でLaravelを解説しているので、初心者の方はこの本とセットで学習されるといいと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は 独習PHP 第3版 をあわせて購入することをお勧めします。

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