2013-07-11 52 views
0

這只是PHP的簡單問題,也可能是symfony2。PHP或symfony2的並行進程?

我正在使用Swift_Message發送電子郵件。

我發送兩封電子郵件,然後顯示樹枝文件。

但是,發送電子郵件需要花費太多時間。

因此,用戶必須等待很長時間才能看到html頁面。

我可以同時發送電子郵件並顯示html嗎?

$messaggio = \Swift_Message::newInstance() 
      ->setSubject('confirm') 
      ->setContentType("text/html") 
      ->setFrom('[email protected]') 
      ->setTo($this->user->getEmail()) 
      ->setBody($this->renderView('AcmeMemberBundle:Default:customer.txt.twig'); 

      // 

    $messaggio = \Swift_Message::newInstance() 
      ->setSubject('confirm email') 
      ->setContentType("text/html") 
      ->setFrom('[email protected]') 
      ->setTo($this->user->getEmail()) 
      ->setBody($this->renderView('AcmeMemberBundle:Default:staff.txt.twig'); 

      // 


    return $this->render('AcmeMemberBundle:Default:form.html.twig'); 

預先感謝您

回答

5

我猜你使用郵件服務發送的電子郵件?如果沒有,你必須。

this->get('mailer')->send($messaggio); 

要不立即發送電子郵件,您可以configure a spool。兩個線軸被支持。內存假脫機,它將消息保存在內存中,並在內核終止後發送它們,這意味着所有內容都被呈現併發送到客戶端。或文件假脫機。有了它,這些消息就被保存到一個文件中,並且你必須定期從cronjob發出一個控制檯命令來發送郵件。

+0

「控制檯突擊隊」:D它就像三角洲部隊,但與IT專家;) –

+0

是的,漂亮的錯字:D –

+0

謝謝!它非常容易和酷! – whitebear