Files
moonwell-web/app/Notifications/VerifyAccountEmail.php
T

40 lines
1.8 KiB
PHP

<?php
namespace App\Notifications;
use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Notifications\Messages\MailMessage;
class VerifyAccountEmail extends VerifyEmail
{
protected function verificationUrl($notifiable): string
{
// Email links must use the configured public origin, never a submitted Host header.
$urls = clone app('url');
$urls->forceRootUrl(config('app.url'));
$urls->forceScheme(parse_url(config('app.url'), PHP_URL_SCHEME));
return $urls->temporarySignedRoute('verification.verify', now()->addHour(), [
'id' => $notifiable->getKey(),
'hash' => sha1($notifiable->getEmailForVerification()),
]);
}
public function toMail($notifiable): MailMessage
{
return (new MailMessage)
->from('no-reply@moon-well.online', 'MoonWell')
->subject(__('Подтверди email — MoonWell'))
->view('mail.account-action', [
'username' => $notifiable->name,
'eyebrow' => __('Ещё один шаг до Азерота'),
'title' => __('Подтверди свой email'),
'intro' => __('Добро пожаловать в MoonWell! Подтверди почту, чтобы войти в личный кабинет и лаунчер.'),
'action' => __('Подтвердить email'),
'url' => $this->verificationUrl($notifiable),
'expiry' => __('Ссылка действует 60 минут. Новое письмо можно запросить на странице подтверждения.'),
'outro' => __('Если ты не создавал аккаунт MoonWell, просто проигнорируй это письмо.'),
]);
}
}