firstname = $firstname; static::$createUrlCallback = function ($notifiable) { return \url(URL::temporarySignedRoute( 'club.verification.verify', Carbon::now()->addMinutes(Config::get('auth.verification.expire', 60)), [ 'id' => $notifiable->getKey(), 'hash' => sha1($notifiable->getEmailForVerification()), ], true )); }; } /** * Build the mail representation of the notification. * * @phpcs:disable Squiz.Commenting.FunctionComment.TypeHintMissing */ public function toMail(mixed $notifiable): MailMessage { // phpcs:enable /** @var string $verificationUrl */ $verificationUrl = $this->verificationUrl($notifiable); return (new MailMessage()) ->view([ 'html' => 'notifications::email-club', 'text' => 'notifications::email-club-text', ]) ->subject(trans('Validation de votre compte - :site_name', ['site_name' => config('app.name')])) ->greeting(trans('Bonjour :name,', ['name' => $this->firstname])) ->line(trans( "Vous venez de créer un compte :strong sur le Club des Gaulois : :endStrong quelle bonne idée pour bénéficier de la Bourse aux échanges Départ'aimants et profitez des bons de réduction à imprimer !", [ 'strong' => '', 'endStrong' => '', ] )) ->line('Vous pouvez également enregistrer vos recettes favorites et les commenter et faire une liste de courses avec vos produits Le Gaulois préféré.') ->line('Pour confirmer votre inscription, merci de cliquer sur le lien ci-dessous (lien valable 1h uniquement) :') ->action(trans('Confirmer mon adresse mail'), $verificationUrl) ->withSymfonyMessage(function (Email $message) { $message->html($message->getHtmlBody(), 'utf-8'); }); } }