当我正在构建的网站上有新注册时,我正在尝试向网站管理员生成一封通知电子邮件。
我在 App\Mail\SignedUp.php 有一个名为 SignedUp 的邮件类。
在 Illuminate/Foundation/Auth/RegistersUser 文件中,我有以下内容:
namespace Illuminate\Foundation\Auth;
use App\Organization;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Auth\Events\Registered;
use App\Mail\SignedUp;
trait RegistersUsers
{
use RedirectsUsers;
/**
* Show the application registration form.
*
* @return \Illuminate\Http\Response
*/
public function showRegistrationForm()
{
$organizations = Organization::all();
return view('auth.register', compact('organizations'));
}
/**
* Handle a registration request for the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
Mail::to('example@example.com')->send(new SignedUp($user));
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
当我注册新用户时,我收到以下消息:
找不到类“Illuminate\Foundation\Auth\Mail”
如果我改变
use App\Mail\SignedUp;
至 use App\Mail;
,错误依旧:找不到类“Illuminate\Foundation\Auth\Mail”use Mail;
给我 Illuminate\Foundation\Auth\SignedUp' 未找到 use App\Mail\SignedUp;
给我找不到类“Illuminate\Foundation\Auth\Mail”根本不尝试导入类,而是将我的语句更改为:
\Mail::to('example@example.com')->send(new SignedUp($user));
, 我得到 找不到类“Illuminate\Foundation\Auth\SignedUp”A 无法弄清楚如何让它找到我的邮件类。
我只是在黑暗中猜测和射击 - 谁能看出我做错了什么?
这是我的邮件类文件:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class SignedUp extends Mailable
{
use Queueable, SerializesModels;
public $url = 'https://av-cuauhtemoc.org/users';
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('example@example.com')->view('emails.new-registration');
}
}
最佳答案
我终于偶然发现了答案。
我还需要导入使用 Illuminate\Support\Facades\Mail;
类(class)。
所以这有效:
use App\Mail\Signedup;
use Illuminate\Support\Facades\Mail;
关于找不到邮件的 Laravel 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55215855/