2012-11-13 12 views
8

ईमेल द्वारा यह प्रतिक्रिया प्राप्त करना "HTTP/1.0 200 ओके कैश-कंट्रोल: नो-कैश सामग्री-प्रकार: टेक्स्ट/एचटीएमएल; वर्णसेट = यूटीएफ -8 तिथि: मंगलवार, 13 नवंबर 2012 04:56:14 जीएमटी "।सिम्फनी 2 के स्विफ्ट मेलर का उपयोग करके, एक ईमेल मिला लेकिन ईमेल में अनावश्यक प्रतिक्रिया प्राप्त हुई

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); 

भी ध्यान रखें कि इस विधि के लिए एक सेवा अर्थात् "ईमेल" के अंतर्गत आता है है:

यहाँ मेरी कोड है। मैंने एक सेवा "ईमेल" बनाई है जो ईमेल भेजने के लिए ज़िम्मेदार है। क्या कोई जानता है कि समस्या क्या हो सकती है ??

+0

मुझे कोई कारण नहीं दिख रहा है कि आप उन शीर्षकों को क्यों प्राप्त करेंगे। क्या आपका टेम्पलेट आउटपुट हेडर की तरह कुछ अजीब करता है? – lifo

+0

मुझे यह भी मिल रहा है। क्या आपने इसे ठीक किया? – dextervip

उत्तर

25

आपको रेंडर() के बजाय renderView() का उपयोग करने की आवश्यकता है, क्योंकि रेंडर() हमेशा हेडर प्रदर्शित करता है। ।

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

या प्रश्न में की तरह एक ही मूल्यों के साथ:

+1

मुझे एक ही समस्या थी। इस उत्तर के लिए धन्यवाद –

+0

यह पूरी तरह हल करता है। धन्यवाद। –

2

संस्करण 2.5 की तरह Symfony2 के नए संस्करण में *

समाधान renderResponse का उपयोग करें और उस पर एक getContent करना() के लिए है:

$this->templating->renderResponse('SocialDonSocialBundle:Email:'.$template,$templateParams)->getContent();