#function #symfony #email #static
#функция #symfony #Адрес электронной почты #статический
Вопрос:
Я хочу отправить n писем с помощью 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);
Ответ №1:
Я бы пошел одним из двух способов здесь:
- сделайте функцию нестатичной в контроллере / возможно, извлеките ее в сервис
- предоставьте тело или средство визуализации в качестве параметра функции.
Если вы удалите ее из контроллера / a, можно будет использовать среду twig ( Twig_Environment $twig
) ( $twig->render('templatename', $paramarray)
).
(Отказ от ответственности: Twig_Environment
может называться по-другому / иметь правильное пространство имен в вашей версии twig ; o))