首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉拉维尔级邮件找不到

拉拉维尔级邮件找不到
EN

Stack Overflow用户
提问于 2019-03-18 06:43:35
回答 2查看 1.2K关注 0票数 0

我试图生成一个通知电子邮件给网站管理员时,有一个新的注册网站,我正在建设。

我在App\Mail\SignedUp.php有一个叫App\Mail\SignedUp.php的邮件类。

在照明/Foundation/Auth/RegistersUser文件中,我有以下内容:

代码语言:javascript
运行
复制
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());
    }

当我注册一个新用户时,我会收到这样的消息:类‘照明\基金会\Auth\Mail’没有找到

如果我将use App\Mail\SignedUp;更改为use App\Mail;,错误仍然是:未找到类“照明\基金会\Auth\Mail”

Illuminate\Foundation\Auth\SignedUp‘use Mail;给了我没有找到

use App\Mail\SignedUp;给我类‘照明\基金会\Auth\Mail’找不到

完全不试图导入类,而是将我的语句更改为:\Mail::to('example@example.com')->send(new SignedUp($user));,我得到了类‘\Mail::to('example@example.com')->send(new SignedUp($user));\Auth\Auth\SignedUp’未找到

A不知道如何让它找到我的邮件类。

我只是在猜测和在黑暗中射击-有人能看到我做错了什么吗?

这是我的邮件类文件:

代码语言:javascript
运行
复制
<?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');
    }
}
EN

回答 2

Stack Overflow用户

发布于 2019-03-18 07:19:27

我终于无意中找到了答案。我还需要导入use Illuminate\Support\Facades\Mail;类。

因此,这是可行的:

代码语言:javascript
运行
复制
use App\Mail\Signedup;
use Illuminate\Support\Facades\Mail;
票数 2
EN

Stack Overflow用户

发布于 2019-03-18 07:05:54

首先,您不应该更改Illuminate/Foundation/Auth/RegistersUser文件,而是必须在RegisterController中覆盖此方法

代码语言:javascript
运行
复制
use App\Mail\SignedUp;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Mail;

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());
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55215855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档