Symfony 3 — SwiftMail — renderView для тела

хочу отправить почту с swiftmail на symfony 3.4 Я бы использовал -> setBody ($ this-> renderView ("...") для содержимого почты.

Только у меня две проблемы. Во-первых, моя функция с использованием swiftMail является статической функцией, поэтому приходится использовать self:: вместо $this->, но self::renderView не работает.

С другой стороны, я не понимаю, в каком виде мне указывать ссылку, я нахожу все в Интернете, и я не знаю, что взять.

На данный момент я:

$transport = \Swift_SmtpTransport::newInstance();

        // Create the Mailer using your created Transport
        $mailer = new \Swift_Mailer($transport);

        $message = \Swift_Message::newInstance()
                        ->setSubject($subject)
                        ->setFrom(array($mailFrom => 'aliasTest'))
                        ->setTo($emailAdress)
                        ->setCharset('utf-8')
                        ->setContentType('text/html')
                        ->setBody("hello"); // ->setBody(self::renderView(" ???")

        $mailer->send($message);
Что такое компоненты React? Введение в компоненты | Типы компонентов
Что такое компоненты React? Введение в компоненты | Типы компонентов
Компонент - это независимый, многократно используемый фрагмент кода, который делит пользовательский интерфейс на более мелкие части. Например, если мы...
0
0
227
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь я бы пошел одним из двух путей:

  • сделать функцию нестатической в ​​контроллере/возможно, извлечь ее в службу
  • предоставить тело или средство визуализации в качестве параметра функции.

Если вы удалите его из/контроллера, можно использовать среду ветки (\Twig_Environment $twig) ($twig->render('templatename', $paramarray)).

(Отказ от ответственности: \Twig_Environment может называться по-другому / иметь правильное пространство имен в вашей версии ветки; o))

Другие вопросы по теме