【问题标题】:Too few arguments to function Illuminate\Mail\Mailer::to(), 0 passed error laravel函数 Illuminate\Mail\Mailer::to() 的参数太少,0 传递了错误 laravel
【发布时间】:2021-06-20 21:30:55
【问题描述】:

我想从 laravel 发送一封电子邮件确认,但我有下一个错误 错误:函数 Illuminate\Mail\Mailer::to() 的参数太少,在第 484 行的 /Applications/MAMP/htdocs/medicalconnect3/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php 中传递了 0 并且完全正确预计 1 个

这是第 484 行中的 MailManager.php

 @param  string  $method
         * @param  array  $parameters
         * @return mixed
         */
        public function __call($method, $parameters)
        {
            return $this->mailer()->$method(...$parameters);
    }

这是我的功能 verifyUser

public function verifyUser(Request $request)
    {

        $verification_code = \Illuminate\Support\Facades\Request::get('code');

        //first o get
        $user = User::where(['verification_code' => $verification_code])->first();

        if ($user != null) {
            $user->is_verified = 1;

            $user->save();
            return redirect()->route('login')->with(session()->flash('alert-success', 'Tu cuenta ha sido verificada exitosamente, por favor ingresa'));
        }

        return redirect()->route('login')->with(session()->flash('alert-danger', 'Upps código de verificación invalido '));
    }

这是我的注册功能

public function register(Request $request)
    {

        $user = new User();
        $user->prefijo = $request->prefijo;
        $user->cedula = $request->cedula;
        $user->name = $request->name;
        $user->paterno = $request->paterno;
        $user->materno = $request->materno;
        $user->titulo = $request->titulo;
        $user->entidad = $request->entidad;
        $user->email = $request->email;
        $user->telefono = $request->telefono;
        $user->ciudad = $request->ciudad;
        $user->password = Hash::make($request->password);
        $user->verification_code = sha1(time());
        $user->save();

        if ($user != null) {

            //send email with verification link
            MailController::sendSignupEmail($user->name, $user->email, $user->verification_code);

            //show a message
            return redirect()->back()->with(session()->flash('alert-success', 'Tu cuenta ha sido creada. Por favor revisa tu email para realizar la verificación de la cuenta'));
        }

        //show error message
        return redirect()->back()->with(session()->flash('alert-danger', 'Upps algo salio mal, por favor vuelve a intentarlo '));
    }

【问题讨论】:

  • 嗨!你介意分享MailController::sendSignupEmail的代码吗?
  • 公共静态函数 sendSignupEmail($name, $email, $verification_code){ $data = [ 'name' => $name, 'verification_code' => $verification_code, ]; Mail::to()->send(new SignupEmail($data)); } }

标签: php laravel laravel-8


【解决方案1】:

您似乎忘记传递$email,因为Mail::to()-> 的第一个参数应该是Mail::to((new User(['email' => $email])))->

第一个参数是\Illuminate\Notifications\Notifiable (https://laravel.com/api/8.x/Illuminate/Notifications/Notifiable.html)

请看https://laravel.com/api/8.x/Illuminate/Mail.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    相关资源
    最近更新 更多