首页 > 解决方案 > Too few arguments to function Illuminate\Mail\Mailer::to(), 0 passed` error when trying to send confirmation email

问题描述

I want to send an email confirmation from Laravel but I'm getting the following error

error: Too few arguments to function Illuminate\Mail\Mailer::to(), 0 passed in /Applications/MAMP/htdocs/medicalconnect3/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php on line 484 and exactly 1 expected

This is MailManager.php in line 484

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

This is my function 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 '));
    }

This is my register function

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 '));
    }

标签: phplaravellaravel-8email-verification

解决方案


推荐阅读