2016-02-16 78 views
4

我知道這個問題已經有一堆答案像this已經在SO上,但沒有一個解決方案似乎適用於我。Symfony SwiftMailer - 預期響應代碼220,但得到代碼「」,並帶有消息「」

我試圖從我的Google Apps域發送電子郵件。電子郵件正在大部分時間發送,但有時會拋出此異常並且電子郵件不會發送。

Uncaught PHP Exception Swift_TransportException: "Expected response code 220 but got code "", with message """ at C:\HostingSpaces\abc\domain.com\wwwroot\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php line 383 {"exception":"[object] (Swift_TransportException(code: 0): Expected response code 220 but got code \"\", with message \"\" at C:\\HostingSpaces\\abc\\domain.com\\wwwroot\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Transport\\AbstractSmtpTransport.php:383)"} [] 

是,我使用SSL,是的,我已經給存取安全性較低的應用程序是的,我使用端口465我已經啓用後臺處理,使應用程序不會崩潰,因爲異常不會被逮住。

我config.yml低於

swiftmailer: 
    transport: smtp 
    host:  smtp.gmail.com 
    username: [email protected] 
    password: password 
    port:  465 
    encryption: ssl 
    spool: { type: memory } 

我的電子郵件類低於

public function send_new_order_email($entity) { 
    try{ 
     $message = $this->getEmailObj("[email protected]"); 
     $message->setBody(
       $this->renderView(
        'APIBundle:Emails:ops_neworder.html.twig', 
        array('entity' => $entity) 
       ), 
       'text/html' 
      )->setSubject('New Order : '.$entity->getId()); 

     $this->container->get('mailer')->send($message); 
    } 
    catch(Exception $e){} 
} 

private function getEmailObj($email){ 
    $message = \Swift_Message::newInstance() 
      ->setFrom('[email protected]') 
      ->setTo($email); 
    return $message; 
} 

你有什麼建議,使這項工作?

回答

0

在Symfony中,Swiftmailer爲Gmail提供了專門的配置,它處理電子郵件通信而忘記配置的其餘部分。這在許多ocassions工作對我來說:

swiftmailer: 
    transport: gmail 
    username: your_gmail_username 
    password: your_gmail_password 

我希望這是有意義的你

You have more information here

相關問題