Saltar al contenido

Laravel 5.7 – No se envía el correo electrónico de verificación

Solución:

Tuve exactamente el mismo problema. Ese es el código predeterminado de Laravel.

Para enviar el correo electrónico después de un registro exitoso, puede hacer esta solución:

a AppHttpControllersAuthRegisterController

cambia esto:

protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
    }

a esto:

protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);

        $user->sendEmailVerificationNotification();

        return $user;
    }

También he tenido el mismo problema. Como verifiqué el código fuente, no es necesario implementar para llamar al sendEmailVerificationNotfication() método, solo debe agregar el controlador de eventos a su EventServiceProvider.php, ya que debido a que su controlador de eventos se creó anteriormente, Larael no puede actualizar eso. Debe tener un aspecto como este:

namespace AppProviders;

use IlluminateSupportFacadesEvent;
use IlluminateAuthEventsRegistered;
use IlluminateAuthListenersSendEmailVerificationNotification;
use IlluminateFoundationSupportProvidersEventServiceProvider as ServiceProvider;

class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
    ];

en caso de que alguien más esté buscando una solución para el mismo problema.

Lea la documentación, explica exactamente lo que se debe hacer para resolver este problema.

https://laravel.com/docs/5.7/verification

en pocas palabras, y si ya está utilizando 5.7 (es decir, tiene los campos necesarios en su users table) todo lo que necesita hacer es lo siguiente:

  • Haz tu User modelo implementar el MustVerifyEmail interfaz.
  • agregar ['verify' => true] al Auth::routes método Auth::routes(['verify' => true]);

puede encontrar todo lo que necesita sobre la verificación por correo electrónico en el enlace de arriba.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *