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 elMustVerifyEmail
interfaz. - agregar
['verify' => true]
alAuth::routes
métodoAuth::routes(['verify' => true]);
puede encontrar todo lo que necesita sobre la verificación por correo electrónico en el enlace de arriba.