2012-11-13 30 views
8

nhận phản hồi này qua email "HTTP/1.0 200 OK Cache-Control: no-cache Loại Nội dung: văn bản/html; charset = UTF-8 Ngày: Thứ Ba, ngày 13 tháng 11 năm 2012 04:56:14 GMT ".sử dụng thư nhanh của symfony 2, nhận email nhưng nhận phản hồi không cần thiết trong email

đây là mã của tôi:

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

Cũng lưu ý rằng phương pháp này là thuộc về một dịch vụ cụ thể là "Email". Tôi đã tạo một dịch vụ "Email" có trách nhiệm gửi email. Có ai biết điều gì có thể là vấn đề không ??

+0

Tôi không thể thấy bất kỳ lý do gì khiến bạn nhận được các tiêu đề đó. Mẫu của bạn có làm bất kỳ điều gì lạ như đầu đề của chính nó không? – lifo

+0

Tôi cũng nhận được nó. Bạn đã sửa nó à? – dextervip

Trả lời

25

Bạn cần sử dụng renderView() thay vì render(), vì render() luôn hiển thị tiêu đề. .

+1

Tôi đã có cùng một vấn đề. Cảm ơn câu trả lời này –

+0

Nó giải quyết hoàn hảo. Cảm ơn. –

2

Trong các phiên bản mới hơn của Symfony2 như phiên bản 2.5 *

Các giải pháp là sử dụng renderResponse và làm một getContent() trên đó:

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

hoặc với các giá trị tương tự như trong câu hỏi:

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