verificar verificacion validar telefono register correo confirmar confirmacion email laravel laravel-4 confirmation-email

email - validar - verificacion de correo laravel



Laravel 4: ¿cómo hacer un correo electrónico de confirmación? (1)

He hecho hasta ahora una aplicación con inicio de sesión / registro y funciona bien. Después del registro, se envía un correo electrónico de bienvenida.

Pero lo que me gustaría hacer es enviar un enlace, dentro de ese correo, que solo después de hacer clic en él, es posible iniciar sesión.

Como el correo electrónico de registro común para foro, etc.

Alguien puede ayudarme por favor?

Este es el método postRegister:

public function postRegister() { $input = Input::all(); $rules = array( ''username'' => ''required'', ''password'' => ''required''); $validation = Validator::make($input, $rules); if ($validation->passes()) { $password = $input[''password'']; $password = Hash::make($password); $user = new User; $user->username = $input[''username'']; $user->email = $input[''email'']; $user->password = $password; $mailer = new Mailers/UserMailer($user); // var_dump($mailer); $mailer->welcomeMail()->deliver(); $user->save(); return Redirect::to(''afterRegister''); } return Redirect::back()->withInput()->withErrors($validation)->with(''message'', ''Validation Errors!''); }

Gracias


Aquí hay algunas pistas (no voy a escribir el código para ti).

  • Agregue dos campos a su tabla de usuario: confirmation , confirmed .
  • Cree una ruta en Laravel como registration/verify/{confirmation} , en la cual intenta encontrar un usuario en su DB con el código de confirmación dado (si lo encuentra, configure el campo confirmed el usuario en 1).
  • Tras el registro del usuario, genere un código de confirmación único (puede usar la función auxiliar str_random() para esto).
  • Establecer la entrada de DB del nuevo usuario en consecuencia ( confirmation = el código aleatorio, confirmed = 0)
  • Incluya un enlace de verificación (creado según su ruta de verificación) con el código de confirmación generado en su correo electrónico a su nuevo usuario.

Los intentos de autenticación ahora se pueden hacer así:

$user = array( ''username'' => Input::get(''username''), ''password'' => Input::get(''password''), ''confirmed'' => 1 ); if (Auth::attempt($user)) { // success! return Redirect::route(''restricted/area''); }