Sei sulla pagina 1di 2

27/6/2019 ¿Cómo personalizar el email de restablecimiento de contraseña enviado en Laravel?

- Stack Overflow en español

Si desea cambiar la URL de los emails enviados debe hacerlo en el archivo .env ubicado en la raíz del
proyecto. El archivo config/app.php no se modificaría para esta operación .

Entonces su archivo .env en la primera sección de configuración quedaría:

APP_ENV=Titulo del Proyecto


APP_KEY= SU KEY
APP_DEBUG=true //depende del estado del proyecto production = false
APP_LOG_LEVEL=debug //depende del estado del proyecto
APP_URL= URL DEL PROYECTO

... más configuraciones ...

Para personalizar el Email enviado por defecto en laravel 5.4 se tendría que modificar la
clase ResetPassword , ubicada en namespace Illuminate\Auth\Notifications , pero no es correcto ya que
esta clase forma parte del código fuente de laravel , por lo tanto para este caso se debería crear una
Notificación para sobreescribir los métodos de ResetPassword , esto lo hacemos mediante el comando

php artisan make:notification ResetPasswordNotification

Este comando creará una carpeta


en App/Notifications/ResetPasswordNotification donde ResetPasswordNotification será el nombre de la
clase (puede ser otro nombre) luego de esto , copiamos el contenido
de ResetPassword a ResetPasswordNotification , donde en el método toMail() sería el que
modificaríamos para personalizar el email . No Olvidar importar la clase en el modelo User , de la siguiente
forma.

use App\Notifications\ResetPasswordNotification;
class User extends Authenticatable
{
/* Más código*/
/**
* Send the password reset notification.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPasswordNotification($token));
}

Podemos cambiar el contenido. de la siguiente forma por ejemplo:

public function toMail($notifiable)


{
return (new MailMessage)
->subject('Solicitud de reestablecimiento de contraseña') //agregamos el
asunto
->greeting('Hola ' . $notifiable->name)// titulo del mensaje
->line('Recibes este email porque se solicito el reestablecimiento de
contraseña para tu cuenta')
// Action : Texto del botón , url(app.url) la tomará desde el .env , la ruta
reset con el token respectivo
->action('Cambiar contraseña', url(config('app.url').route('password.reset',
$this->token, false)))
->line('Si no realizaste esta petición puede ignorar este correo')
->salutation('Saludos'); // Saludo Final
}

https://es.stackoverflow.com/questions/92223/cómo-personalizar-el-email-de-restablecimiento-de-contraseña-enviado-en-laravel 1/2
27/6/2019 ¿Cómo personalizar el email de restablecimiento de contraseña enviado en Laravel? - Stack Overflow en español

Con esto modificariamos el cuerpo pero el pie del mensaje , donde dice que si presenta problemas y más .
tendríamos que seguir otro paso adicional , desde la consola ejecutamos el comando

php artisan vendor:publish --tag=laravel-notifications

Con esto nos creará una carpeta en views/vendor/notifications , donde estaría la parte del pie del
mensaje en la parte del component mail::subcopy , para modificar de acuerdo a sus requerimientos.

@component('mail::subcopy')
Si usted está teniendo problemas para hacer clic en el botón "{{ $actionText }}" copia y
pega el siguiente URL en su navegador web: [{{ $actionUrl }}]({{ $actionUrl }})
@endcomponent

Todos las configuraciones del Email las obtiene del archivo .env

https://es.stackoverflow.com/questions/92223/cómo-personalizar-el-email-de-restablecimiento-de-contraseña-enviado-en-laravel 2/2