alexjet73
@alexjet73

Как заменить письма Laravel 8 Breeze?

При использовании Breeze письма с подтверждением почты, восстановлением пароля и тд, приходят стандартными шаблонами Laravel. Как сделать свои blade шаблоны для всех уведомлений и отправлять уже их пользователям?

p/s/ Полностью свой дизайн и свой текст для каждого вида уведомления
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 2
netrox
@netrox
Отредактируй соответсвующие файлы в папке resources/views/auth. Например: verify-email.blade.php .
Ответ написан
alexjet73
@alexjet73 Автор вопроса
Решение было найдено. Оставлю тут если кому будет нужно:

1. Замена шаблонов писем (оформления)
запускаем в терминале две команды
php artisan vendor:publish --tag=laravel-mail

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

Получаем две папки mail и notifications в \resources\views\vendor\.
В mail в папке html меняем хедер, футер и все что нужно.

2. Меняем сам текст уведомлений.
Для этого создаем два кастомных нотификатора при помощи команды php artisan make:notification
Например:
php artisan make:notification MyVerifyMail
php artisan make:notification MyResetPass

Появляется папка app/Notifications
Теперь берем стандартные нотификаторы из ядра, они находятся в папке \vendor\laravel\framework\src\Illuminate\Auth\Notifications
Копируем из них всё тело класса и вставляем заменяя тело класса в кастомном нотификаторе (не забываем так же импортировать все нужные пространства имён при помощи use).
Теперь редактируем текст в методе buildMailMessage в обоих нотификаторах на нужный нам. Можно так же указать помимо subject еще и greeting, дабы персонализировать текст приветствия в письмах.
return (new MailMessage)
			->greeting('Здравствуйте!')


Когда все готово, добавляем в app\Models\User.php два метода, переопределяя стандартные:
public function sendEmailVerificationNotification(){
		$this->notify(new MyVerifyMail());
	}
	public function sendPasswordResetNotification($token)
	{
		$this->notify(new MyResetPass($token));
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы