前提・実現したいこと
初めて質問させていただきます。
初心者ですが何卒よろしくお願いいたします。
Laravel5.5でお問い合わせフォームを作成し、フォームから送信した内容をデータベースに保存するところまでは実装できたので、
確認メールの送信機能をつけたいと思い以下の記事を参考にコードを書きました。
https://www.webopixel.net/php/1316.html
https://qiita.com/sayama0402/items/dd10cdb2aa22c8a035b3
そうしたところ、以下のようなエラーメッセージが出てしまいました。
useしているはずなのに Class not found と出てしまうので原因がわからず困っています。
どうかお力添え願います。
発生している問題・エラーメッセージ
Class 'App\Mail\ContactMail' not found
該当のソースコード
App\Mail\ContactMail.php
php
1<?php 2 3namespace App\Mail; 4 5use Illuminate\Bus\Queueable; 6use Illuminate\Mail\Mailable; 7use Illuminate\Queue\SerializesModels; 8use Illuminate\Contracts\Queue\ShouldQueue; 9 10class Contact extends Mailable 11{ 12 use Queueable, SerializesModels; 13 14 /** 15 * Create a new message instance. 16 * 17 * @return void 18 */ 19 protected $contact; 20 21 public function __construct($contact) 22 { 23 $this->contact = $contact; 24 } 25 26 /** 27 * Build the message. 28 * 29 * @return $this 30 */ 31 public function build() 32 { 33 $bcc = [ 34 'name' => 'BCCメールのタイトル', 35 'email' => 'hoge@hoge.com', 36 ]; 37 38 return $this 39 ->from('hoge@hoge.com') 40 ->subject('メールのタイトル') 41 ->view('mail.contact') 42 ->with(['contact' => $this->contact]) 43 ->bcc($bcc); 44 } 45} 46
ContactsController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\ContactRequest; use App\Http\Controllers\Controller; use App\Contact; use App\Mail\ContactMail; use Illuminate\Support\Facades\Mail; class ContactsController extends Controller { public function contact() { $types = Contact::$types; return view('contacts.contact', [ 'types' => $types, ]); } public function confirm(Request $request) { $this->validate($request, [ 'name' => 'required|string|max:50', 'email' => 'required|string|email|max:191', 'type' => 'required', 'body' => 'required', ]); $contact = new Contact($request->all()); return view('contacts.confirm', [ 'contact' => $contact ]); } public function complete(Request $request) { $input = $request->except('action'); if ($request->action === '戻る') { return redirect()->action('ContactsController@contact')->withInput($input); } //データを保存し変数に代入 $contact = Contact::create($request->all()); //二重送信防止 $request->session()->regenerateToken(); //メール送信 Mail::to($contact->email) ->send(new ContactMail($contact)); Mail::to('hoge@hoge.com') ->send(new ContactMail($contact)); return view('contacts.complete'); } }
試したこと
new ContactMail
の部分を\App\Mail\ContactMail
と記述する
Mail::to($contact->email)
を\Mail::to($contact->email)
と記述する
https://www.webopixel.net/php/1316.html
現在のコードは上記の記事を参考に書いたものになりますが、
下記の記事の内容でも試してみました。同じエラーでした。
https://qiita.com/sayama0402/items/dd10cdb2aa22c8a035b3
他に必要なコードがあれば追記いたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/09 16:38