8

通过电子邮件收到此响应“HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: text/html; charset=UTF-8 Date: Tue, 13 Nov 2012 04:56:14 GMT”。

这是我的代码:

 public function sendEmail($subject, $template, $templateParams)
    {
        $userEmail = $this->session->get('email');
        $name = $this->session->get('name');
        $adminEmail = $this->container;
        $templateParams['username'] = $name; 
        $message = \Swift_Message::newInstance()
                ->setSubject($subject)
                ->setFrom($adminEmail)
                ->setTo($userEmail)
                ->setBody($this->templating->render('SocialDonSocialBundle:Email:'.$template,$templateParams), 'text/html'); 
        $this->mailer->send($message);

另请注意,此方法属于“电子邮件”服务。我创建了一个负责发送电子邮件的服务“电子邮件”。有人知道可能是什么问题吗?

4

2 回答 2

29

您需要使用renderView() 而不是render(),因为render() 总是显示标题。

于 2013-09-12T13:17:19.280 回答
2

在较新版本的 Symfony2 中,例如 2.5.*

解决方案是使用 renderResponse 并对其执行 getContent() :

$content = $this->container->get('templating')->renderResponse(
        'YOUR_TEMPLATE.twig',
        templateParams)
    )->getContent();

或具有与问题相同的值:

$this->templating->renderResponse('SocialDonSocialBundle:Email:'.$template,$templateParams)->getContent();
于 2015-06-26T14:33:46.337 回答