РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
800 of 1361 menu

Метод asEmailMessage класса Notification

Метод asEmailMessage класса Notification преобразует уведомление в объект EmailMessage, который затем отправляется через email-канал. Метод принимает первым параметром объект EmailMessage, в который можно добавить получателей, тему, HTML-содержимое и вложения. Возвращает метод тот же объект EmailMessage.

Синтаксис

public function asEmailMessage(EmailMessage $email): EmailMessage

Пример

Давайте создадим уведомление и преобразуем его в email-сообщение:

<?php namespace AppNotification; use SymfonyComponentNotifierNotification; use SymfonyComponentNotifierChannelEmailChannelEmailMessage; class ArticleNotification extends Notification { public function asEmailMessage(EmailMessage $email): EmailMessage { $email->to('user@example.com'); $email->subject('article'); $email->html('<p>hello</p>'); return $email; } } ?>

Пример

Давайте отправим уведомление через Notifier, используя метод asEmailMessage:

<?php namespace AppController; use AppNotificationArticleNotification; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentNotifierNotifierInterface; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/notify', name: 'article_notify')] public function notify(NotifierInterface $notifier): Response { $notification = new ArticleNotification(); $notifier->send($notification); return new Response('hello'); } } ?>

Результат выполнения кода:

"hello"

Пример

Давайте добавим нескольких получателей и вложение:

<?php namespace AppNotification; use SymfonyComponentMimePartFile; use SymfonyComponentNotifierNotification; use SymfonyComponentNotifierChannelEmailChannelEmailMessage; class ArticleNotification extends Notification { public function asEmailMessage(EmailMessage $email): EmailMessage { $email->to('user@example.com'); $email->cc('admin@example.com'); $email->subject('article'); $email->html('<p>abcde</p>'); $email->attach(new File('/path/to/file.txt')); return $email; } } ?>

Смотрите также

  • класс Notification,
    который представляет уведомление
  • метод content,
    который задаёт содержимое уведомления
  • метод subject,
    который задаёт тему уведомления
  • класс Notifier,
    который отправляет уведомления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить