2013-04-24 224 views
1

我想用symfony和gmail發送電子郵件。我的意思是發件人和收件人都使用Gmail。 我配置了config.yml如下:如何通過gmail發送電子郵件與symfony2?

swiftmailer: 
    transport: gmail 
    encryption: ssl 
    auth_mode: login 
    host:  smtp.gmail.com 
    username: username 
    password: pass 
    spool:  { type: memory } 






$message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody('hello') 

這段代碼是否正確?

的其他說明: 當我加入這個代碼,它的工作

$form = $this->get('form.factory')->create(new xxxType(), array('key' => 'var')); 

但這個它沒有

$form = $this->createForm(new xxxType(),$entity); 
+0

我實際用於發送者和接收者相同的帳戶,但我沒有收到任何 – user2269869 2013-04-24 09:30:23

+0

使用相同的帳戶發送者和接收者可能無法與gmail一起工作 - 它往往會過濾掉你自己的消息(儘管搜索可能會把它變成)。最好創建一個單獨的gmail帳戶來提供消息。在任何情況下,您都不希望在該配置文件中以純文本形式輸入真實的Gmail帳戶密碼。 – redbirdo 2013-04-24 09:58:00

+0

我不知道symfony2,但對我來說看起來像你創建的消息,但你不發送它,所以我認爲你需要做一些像$ message.send() – 2013-04-24 09:58:53

回答

1

您正在使用spool,這延遲發送電子郵件,直到你實際上通過app/console命令發送電子郵件。這些郵件一直保存在內存中,正如之前鏈接的文檔中所述。

爲了發送電子郵件,您應該停止使用假脫機,或手動發送它們。

+0

我評論了線軸:{type:memory} 500內部服務器,但我得到以下錯誤:錯誤 - Swift_TransportException @Ethena – user2269869 2013-04-24 10:13:15

+0

異常說什麼?沒有一些細節,很難說出什麼問題以及你應該改變什麼......請更新你的帖子,你做了什麼,結果是什麼。 – DRvanR 2013-04-24 20:10:20

+0

這是提交表單後顯示的消息=> 500內部服務器錯誤 - Swift_TransportException @Ethena – user2269869 2013-04-25 07:40:14

相關問題