我有一个问题是发送邮件,因为symfony 2.8与SwiftMailer。 之前,我使用过这种方法:
$body = $this->twig->render($email->getCorp());
使用外部服务,但现在我有这个错误:
无法在数据库中找到模板“
<div>
...模板...”
我也试过了,我也遇到了同样的错误:
$email = $em->getRepository('BoAdminBundle:Email')->find(3);
$body = $this->render($email->getCorp());
$message = Swift_Message::newInstance()
->setSubject('Subject')
->setFrom('mail@mail.com')
->setTo($insti->getEmail())
->setContentType("text/html")
->setBody($body);
$this->get('mailer')->send($message);
感谢您的帮助:)!
编辑:
$parametersFinal = array_merge($replaces, $replacesInsti); // $replacesInsti = array the client's informations
$body = $this->twig->render($email->getCorp(), $parametersFinal);
如何在正文中插入“$ parametersFinal”?
答案 0 :(得分:1)
根据您的评论,HTML通过调用getCorp()
函数而存在,在这种情况下,您的代码应该是:
$email = $em->getRepository('BoAdminBundle:Email')->find(3);
$message = Swift_Message::newInstance()
->setSubject('Subject')
->setFrom('mail@mail.com')
->setTo($insti->getEmail())
->setContentType("text/html")
->setBody($email->getCorp())
;
$this->get('mailer')->send($message);
render()
函数需要将模板的名称作为其第一个参数进行渲染,并将一个可选的参数数组传递给该模板。