Saltar al contenido

Ubicación de la plantilla de verificación de correo electrónico de Laravel

Solución:

Laravel usa este método de clase de notificación VerifyEmail para enviar correo electrónico:

public function toMail($notifiable)
{
    if (static::$toMailCallback) {
        return call_user_func(static::$toMailCallback, $notifiable);
    }
    return (new MailMessage)
        ->subject(Lang::getFromJson('Verify Email Address'))
        ->line(Lang::getFromJson('Please click the button below to verify your email address.'))
        ->action(
            Lang::getFromJson('Verify Email Address'),
            $this->verificationUrl($notifiable)
        )
        ->line(Lang::getFromJson('If you did not create an account, no further action is required.'));
}

Método en código fuente.

Si desea utilizar su propia plantilla de correo electrónico, puede ampliar la Clase de notificación básica.

1) Crear en app/Notifications/ expediente VerifyEmail.php

<?php
namespace AppNotifications;
use IlluminateBusQueueable;
use IlluminateNotificationsNotification;
use IlluminateContractsQueueShouldQueue;
use IlluminateNotificationsMessagesMailMessage;
use IlluminateSupportCarbon;
use IlluminateSupportFacadesURL;
use IlluminateSupportFacadesLang;
use IlluminateAuthNotificationsVerifyEmail as VerifyEmailBase;

class VerifyEmail extends VerifyEmailBase
{
//    use Queueable;

    // change as you want
    public function toMail($notifiable)
    {
        if (static::$toMailCallback) {
            return call_user_func(static::$toMailCallback, $notifiable);
        }
        return (new MailMessage)
            ->subject(Lang::getFromJson('Verify Email Address'))
            ->line(Lang::getFromJson('Please click the button below to verify your email address.'))
            ->action(
                Lang::getFromJson('Verify Email Address'),
                $this->verificationUrl($notifiable)
            )
            ->line(Lang::getFromJson('If you did not create an account, no further action is required.'));
    }
}

2) Agregar al modelo de usuario:

use AppNotificationsVerifyEmail;

y

/**
 * Send the email verification notification.
 *
 * @return void
 */
public function sendEmailVerificationNotification()
{
    $this->notify(new VerifyEmail); // my notification
}

Además, si necesita una plantilla de hoja:

laravel generará todas las vistas de verificación de correo electrónico necesarias cuando el make:auth se ejecuta el comando. Esta vista se coloca en
resources/views/auth/verify.blade.php. Puede personalizar esta vista según sea necesario para su aplicación.

Fuente.

Responda en el comentario ya. Enviado por el toMail() método.

vendorlaravelframeworksrcIlluminateAuthNotificationsVerifyEmail::toMail();

Para la estructura y apariencia de la plantilla; eche un vistazo a estas ubicaciones también y también puede publicar para modificar la plantilla:

vendorlaravelframeworksrcIlluminateNotificationsresourcesviewsemail.blade.php
vendorlaravelframeworksrcIlluminateMailresourcesviews

Para publicar esas ubicaciones:

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

Después de ejecutar este comando, las plantillas de notificación por correo se ubicarán en el resources/views/vendor directorio.

Los colores y el estilo están controlados por el archivo CSS en resources/views/vendor/mail/html/themes/default.css

Además, si desea traducir el correo estándar VerifyEmail (u otro donde use Lang :: fromJson (…)), necesita crear un nuevo archivo json en resources / lang / y nombrarlo ru.json, por ejemplo. Puede contener texto (resources / lang / ru.json) a continuación y debe ser válido.

{
  "Verify Email Address" : "Подтверждение email адреса"
}
¡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 *