2015-12-14 219 views
1

我無法連接到Gmail SMTP服務器。SwiftMailer + Gmail - 無法發送電子郵件

看:

$transport = Swift_SmtpTransport::newInstance() 
      ->setHost('smtp.gmail.com') 
      ->setPort(465) 
      ->setEncryption('ssl') 
      ->setUsername('[email protected]') 
      ->setPassword('mypasss'); 

    $mailer = Swift_Mailer::newInstance($transport); 

    $message = Swift_Message::newInstance('Contato via Site') 
      ->setFrom(array($email => $de)) 
      ->setTo(array($destinatario => 'Agência Linka')) 
      ->setBody($corpo_mensagem, 'text/html') 
      ->setCharset('UTF-8'); 

    $mailer->send($message); 

然後我得到這個:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [ #0]' in ... 

任何人都經歷了這一點?

回答

0

Gmail已經改變了他的政策,因此yuo需要採取特殊的額外步驟才能使其正常工作,我可以在這裏爲您解釋,但您可以看看這個答案,它解釋了您需要採取的措施:

Using php's swiftmailer with gmail

1

可以使用TLS而非SSL證書,像下面發送郵件:

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587,'tls') 
          ->setUsername('[email protected]') 
          ->setPassword('mypasss'); 

    $mailer = Swift_Mailer::newInstance($transport); 

    $message = Swift_Message::newInstance('Contato via Site') 
      ->setFrom(array($email => $de)) 
      ->setTo(array($destinatario => 'Agência Linka')) 
      ->setBody($corpo_mensagem, 'text/html') 
      ->setCharset('UTF-8'); 

    $mailer->send($message); 
1

首先登錄您的帳戶,並在新標籤中打開這個,

https://www.google.com/settings/u/1/security/lesssecureapps 
https://accounts.google.com/b/0/DisplayUnlockCaptcha 
https://security.google.com/settings/security/activity?hl=en&pli=1 

您需要確保您使用的電子郵件ID已啓用不太安全的應用程序。