我有一個奇怪的問題,我無法放下手指。Symfony2在發送郵件時延遲了Flashbag消息
在我的控制器中,我使用swiftmailer發送電子郵件,使用會話Flashbag設置一條Flash消息,並重定向到另一個頁面。
public function testAction() {
$this->get('session')->getFlashBag()->add('info', 'test flash message');
$message = new \Swift_Message('test', 'test');
$message->setTo('[email protected]');
$message->setFrom('[email protected]');
$this->get('mailer')->send($message);
return $this->redirect($this->generateUrl('home_page'));
}
重定向後,我希望看到的提示信息,但似乎當郵件被髮送,使得由一個請求延遲閃光燈消息有事。也就是說,當我到達'home_page'時,我看不到閃光消息,但是如果在重定向後重新加載頁面,我會這樣做。
如果我在swiftmail配置中註釋掉send()調用或甚至設置disable_delivery:true,則Flash消息按預期工作。
我想我可能已經發現了一個bug,但是當我創建一個新項目(symfony/framework-standard-edition 2.4.1)並嘗試這個時,即使在我發送郵件時它也可以工作。我已經檢查過,以確保我使用的是swiftmailer,symfony等相同的版本。所以,我確定這是與我的項目有關的內容,但我沒有想到該從哪裏去的想法。
我使用PHP 5.5.7,Symfony 2.4.1。
感謝您的時間
你說你改寫了從無到有這個代碼,但couldn不會重現這種行爲?新的testAction *與上面的完全相同嗎? – Mathew
唯一的區別是電子郵件主題和正文,可以忽略的差異。當然,還有更多的事情不僅僅是行動中的事情,所以我首先禁用了一些捆綁軟件。 – Jody
@Jody我得到了同樣的錯誤,你有沒有找到解決方案? –