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

render() は常にヘッダーを表示するため、render() の代わりに renderView() を使用する必要があります。

于 2013-09-12T13:17:19.280 に答える
2

バージョン 2.5.* のような Symfony2 の新しいバージョンでは

解決策は、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 に答える