前提
laravelからメール送信をするためmailtrapを利用
メールのテンプレートをマークダウンで記述できるメール機能をartisanで作成したblade.phpを使用
mailtrapを使用
実現したいこと
laravelからメール送信をするためmailtrapを使用してメールを送ろうと思ってます。
メールのテンプレートをマークダウンで記述できるメール機能をartisanで作成したblade.phpを使用しています。
発生している問題・エラーメッセージ
「php artisan make:mail Welcome --markdown="xxxx.welcome"」のコマンドで作成したテンプレートを使用しているのですが下記メッセージが出てメールが送れません。
これが出る原因がわからないのですがどういう原因なのでしょうか?
Class "Nette\Schema\Expect" not found
該当のソースコード
RegisteredComplete.php
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\Http\Controllers\Controller; 6use Illuminate\Http\Request; 7use Illuminate\Support\Facades\Auth; 8use App\Mail; 9use App\Service\Mail\MailService; 10 11class RegisteredComplete extends Controller 12{ 13 const BCC = NULL; 14 const MAIL_TMPL = 1; 15 16 // 会員登録完了画面の表示 17 public function registerComplete() 18 { 19 // 会員登録完了メール送信 20 $user = Auth::user(); 21 \Mail::to($user->email)->send(new Mail\RegisteredComplete($user)); 22 $mail = new MailService(); 23 $mail->createMailHistory($user->id, config('mail.mailtmpl.RegisteredComplete'), $user->email, MailService::BCC); 24 return view('auth.registerComplete'); 25 } 26} 27
registeredComplete.php
1<?php 2 3namespace App\Mail; 4 5use Illuminate\Bus\Queueable; 6use Illuminate\Contracts\Queue\ShouldQueue; 7use Illuminate\Mail\Mailable; 8use Illuminate\Queue\SerializesModels; 9 10class registeredComplete extends Mailable 11{ 12 use Queueable, SerializesModels; 13 private $user; 14 /** 15 * Create a new message instance. 16 * 17 * @return void 18 */ 19 public function __construct($user) 20 { 21 $this->user = $user; 22 } 23 24 /** 25 * 会員情報登録完了メール送信処理 26 * 27 * @return $this 28 */ 29 public function build() 30 { 31 $user = $this->user; 32 return $this->markdown('emails.registeredComplete', compact('user')); 33 } 34}
registeredComplete.blade.php
1@component('mail::message') 2# Introduction 3 4{{ $user->name }}様 5The body of your message. 6 7@component('mail::button', ['url' => '']) 8Button Text 9@endcomponent 10 11Thanks,<br> 12{{ config('app.name') }} 13@endcomponent
試したこと
php artisan config:cacheでキャッシュをクリア
@component('mail::message')を外すとメールは送れる
あなたの回答
tips
プレビュー