質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Email

Email(電子メール)とは、ネットワークを介してメッセージを送受信するシステム。インターネット上で利用するメールを、Emailと呼ぶ場合が多いです。 インターネットの普及に伴い、現在では一般的なサービスとなっています。文字の他にも、画像、音声、プログラムなどを送受信することが可能です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Markdown

Markdownは、文書の構造、修飾情報を記述するための軽量マークアップ言語です。

Q&A

0回答

743閲覧

laravelのMarkdownメールにて@component('mail::message')を記載すると "Nette\Schema\Expect" not foundが出てメールが送れない

jem32o

総合スコア79

Email

Email(電子メール)とは、ネットワークを介してメッセージを送受信するシステム。インターネット上で利用するメールを、Emailと呼ぶ場合が多いです。 インターネットの普及に伴い、現在では一般的なサービスとなっています。文字の他にも、画像、音声、プログラムなどを送受信することが可能です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Markdown

Markdownは、文書の構造、修飾情報を記述するための軽量マークアップ言語です。

0グッド

0クリップ

投稿2022/12/29 12:31

編集2023/01/07 15:57

前提

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')を外すとメールは送れる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問