make:notificationを利用するとViewテンプレートまで自動生成できるのでおすすめです。今回は、Laravelのデフォルトのユーザー登録時にメールアドレス検証用のメールを送信するという体でサンプルを作成します。実装されましたが、これで使用できたメール通知はあまり使い勝手のいいものではありませんでした。本文に入れられない、工夫してもイマイチ本文をコード内に書くので分離が出来ず汚れる。使ったメール通知では解消されています。必要に応じて従来のも使用できます。簡単な管理者宛通知メールとかならそっちの方がいいですよね。Notificationの作成artisanでNotificationのクラスを作成します。いうviewテンプレートを作成します。以下のような内容で生成されました。今回作るのは登録完了&認証要求メールなので通知に載せれるようにしましょう。ClassNotificationの方はこんな感じ。今回はコンストラクタで値を取っていますが、セッターメソッドでももちろん構いません。ようこそ!');}}Notification::markdownは第一引数にView名、第二引数にViewに渡す配列を渡します。view()とかと基本的には一緒ですね。TemplateViewテンプレートはmail::messageコンポーネントのスロットとして記述します。してパースされ、見た目の整えられたHTMLとしてメールに渡されます。内にインライン化されます。パースは行われず、HTMLタグの除去が行われたものが挿入されます。promotionといったbladeコンポーネントが用意されています。テンプレートを用意しました。登録ありがとうございます。以下のリンクよりご利用のメールアドレスの確認を承認してください。その場合、お手数おかけいたしますが、このメールへの返信でお知らせいただけると幸いです。登録ありがとうございます。以下のリンクよりご利用のメールアドレスの確認を承認してください。このメールに心当たりがありませんか?<br>その場合、お手数おかけいたしますが、このメールへの返信でお知らせいただけると幸いです。}}@endcomponent自分で書いておいてなんですが、心当たりのない人に返信を求めるのはダメだと思います。wコントローラーから呼び出し別にコントローラーでなくてもイベントリスナーでもサービスでもどっからでもいいんですけど今回はとりあえずコントローラーから呼び出します。notifiable->notify($notification)を利用します。notificationに渡されるnotifiableはこれ(ここではUser)になりますが、notifiableを利用するクラスはなんでも構いません。呼び出されるのでここに書く。ユーザーにリレーションかけたテーブルでテキトーにトークンを保存。ユーザーにリレーションかけたテーブルでテキトーにトークンを保存。$token));}以上で設置完了。送信してみる実際にユーザー登録をして、メールの送信を確認します。今回は一つ前の記事にてMailCatcherを設定済み。ユーザー情報を入力してポチ登録が完了すると同時に、メールが届きました。テキストメールもこの通りデザインのカスタマイズメールに独自のテンプレートを使いたいですよね。(メールテンプレートの構築は大変ですが。)まずはFW内に含まれているテンプレートをプロジェクトリソースディレクトリにpublishします。以下に複製されますね。チェーンで構成されています。HTMLとmarkdown(テキストメール用)で。メールテンプレートなのにインラインスタイルが書かれておらず、themes/default.cssが存在することに気付くでしょう。より自動的にインライン化されるんです。賢い!またこのテーマのCSSファイル名は設定で変えれる......らしいんだけど決め打ちでアプリ内で複数使えるというわけではないようなので悩みどころ。要求するなら継承して作れってことなのだろうか。第3引数をセットしてもマージされたりしません。囲うのを忘れないようにしましょう。居ないと思いますが、自分はそれを忘れて小一時間悩みました。使うスニペットやちょっとしたテクニックをまとめて行く場所。自由に使用できますが、責任はとれません。良い方法があるよ、その情報おかしいよ?これも書いて!などと言ったツッコミはコメントまたはTwitterからお願いします。このサイトはhinaloeが管理しています。