2015-12-14 222 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已启用不太安全的应用程序。