Как сделать пользовательскую проверку электронной почты (Laravel 5.8)? - PullRequest
0 голосов
/ 26 июня 2019

Я могу сделать подтверждение электронной почты, используя шаблон по умолчанию из Laravel 5.8.

Теперь я хочу настроить электронную почту.

Вы можете мне помочь?

Я пытался следовать инструкциям из этого: https://medium.com/@lordgape/custom-verification-email-notification-laravel-5-8-573ba3183ead. Нет ошибки, но электронное письмо не отправлено.

Когда я возвращаюсь к проверке по умолчанию, отправляется электронное письмо по умолчанию.

Редактировать:

Шаги, которые я до сих пор пробовал:

  • Создайте почтовое сообщение для проверки электронной почты.
  • Создайте представления для нового шаблона электронной почты
  • переопределите toMailUsing (), используя следующий код в AppServiceProvider.php:
VerifyEmail::toMailUsing(function ($notifiable){
                $verifyUrl = URL::temporarySignedRoute(
                    'verification.verify',
                    Carbon::now()->addMinutes(Config::get('auth.verification.expire', 60)),
                    ['id' => $notifiable->getKey()]
                );

                // dd($notifiable);
                return new EmailVerification($verifyUrl, $notifiable);
            });
  • редактировать mailable, добавить две переменные: $ verifyUrl и $ user.
  • edit __construct function:
public function __construct($url, User $user)
    {
        $this->user = $user;
        $this->verifyUrl = $url;
    }
  • edit build () в mailable, добавить return $ this-> view ('emails.verifyUser');(просмотр пользовательского шаблона).
  • Нет ошибок, страница "пожалуйста, проверьте свою электронную почту" отображается как обычно.Но письмо не отправлено.

1 Ответ

0 голосов
/ 26 июня 2019

Если вы хотите настроить только внешний вид и макет отправленного электронного письма и не содержимое (текст) письма, которое вам нужно Опубликовать Просмотр файлов уведомлений и почтовых компонентов.

Для этого вы можете набрать:

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

Эта команда скопирует шаблоны почтовых сообщений Laravel из папки поставщика в resources/views/vendor/notifications и resources/views/vendor/mail.

В прежнем пути у вас есть email.blade.php, который по сути является макетом MailMessage . (Фактически вы можете видеть все доступные слоты, которые вы можете настроить с помощью MailMessage).

В последнем пути вы можете найти компоненты markdown и html (которые также используются в макете MailMessage, который я упоминал ранее). Вы можете просмотреть различные файлы и изменить их.

Примечание: изменения, которые вы вносите в эти шаблоны, будут применяться к любому почтовому сообщению , которое вы отправляете, также, если вы создаете новое уведомление и отправляемое по почте, оно все равно будет использовать эти измененные шаблоны.

Этот метод можно использовать для внесения глобальных изменений в внешний вид электронного письма и, например, настройки заголовка для включения логотипа вашей компании и т. Д.

Если вам просто нужно отредактировать содержимое (тексты) сообщения электронной почты, вам все равно придется создать свое собственное уведомление / возможность отправки по почте.

Быстрый совет: вы можете просматривать электронные письма в браузере, чтобы быстро вносить изменения в макет и тексты, так как вам не нужно постоянно отключать уведомление: https://medium.com/@jaouad_45834/preview-your-emails-notifications-in-browser-laravel-9058d8c856c4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...