J'ai lu dans la documentation à propos de la nouvelle fonctionnalité de laravel la vérification du courrier électronique. Où puis-je localiser le modèle de courrier électronique envoyé à l'utilisateur? Il ne montre pas ici: https://laravel.com/docs/5.7/verification#after-verifying-emails
En fait, ils n'utilisent ni lame ni modèle, ils créent une notification et écrivent du code pour cette notification.
Laravel utilise cette méthode de VerifyEmail classe de notification pour envoyer un courrier électronique:
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.'));
}
Si vous souhaitez utiliser votre propre modèle de courrier électronique, vous pouvez étendre la classe de notification de base.
app/Notifications/
VerifyEmail.php
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\Lang;
use Illuminate\Auth\Notifications\VerifyEmail 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.'));
}
}
use App\Notifications\VerifyEmail;
et
/**
* Send the email verification notification.
*
* @return void
*/
public function sendEmailVerificationNotification()
{
$this->notify(new VerifyEmail); // my notification
}
Aussi, si vous avez besoin d'un modèle de lame:
laravel générera toutes les vues de vérification de courrier électronique nécessaires lorsque la commande
make:auth
est exécutée. Cette vue est placée dansresources/views/auth/verify.blade.php
. Vous êtes libre de personnaliser cette vue comme nécessaire pour votre application.
De plus, si vous voulez traduire un courrier standard VerifyEmail (ou autre où utilisez Lang :: fromJson (...)), vous devez créer un nouveau fichier Json dans resources/lang/et le nommer ru.json, par exemple . Il peut contenir (resources/lang/ru.json) le texte ci-dessous et doit être valide.
{
"Verify Email Address" : "Подтверждение email адреса"
}