找不到邮件的 Laravel 类

标签 laravel class email namespaces laravel-mail

当我正在构建的网站上有新注册时,我正在尝试向网站管理员生成一封通知电子邮件。

我在 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/

相关文章:

Laravel 4 - 隐式 Controller 中的 URI 参数

php - 拉维尔 5 : insert row with possibility of duplication

c++ - 是否可以返回指向类中声明的结构的指针?

ios - 邮件应用程序和 Gmail 应用程序的通用链接问题

php - Laravel 错误接口(interface)类不存在

apache-flex - 是否可以从动态类中删除属性?

class - 创建 Eq 实例并进行计算

python - 事件的 Django/Python 电子邮件通知

c# - 使用 c# asp.net 在从网站发送的电子邮件中显示图像

php - Laravel 如何仅响应没有正文消息的 204 代码状态