【发布时间】:2014-10-16 10:53:57
【问题描述】:
我想使用 gmail 的 smtp 和下面使用 Swiftmailer 发布的 PHP 脚本发送电子邮件。现在这在我自己的网络服务器上运行良好。但是当我在我为其创建它的人的网络服务器上使用它时,我得到了一个例外:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Connection timed out #110]' in ...
可能是什么问题? 我假设它与服务器设置的差异有关,因为代码可以在我自己的网络服务器上运行。我已经用 phpinfo() 检查了以下内容:
- Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
- OpenSSL support enabled
- OpenSSL Library Version OpenSSL 1.0.1e-fips 11 Feb 2013
这是我的 PHP 代码:
$emailname = MY_GMAIL_ACCOUNT_USERNAME;
$emailpass = MY_GMAIL_ACCOUNT_PASSWORD;
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername($emailname)
->setPassword($emailpass);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance($emailtitle)
->setFrom(array($emailname.'@gmail.com' => $emailsender))
->setTo(array($emailrecp))
->setBody($emailbody,'text/html');
$result = $mailer->send($message);
【问题讨论】:
-
我也遇到了这个问题。我通过将加密从“tls”更改为“ssl”来解决它。我看到您正在使用“ssl”,所以没有必要提供这个作为答案。但是,Google SMTP 服务器是
smtp.googlemail.com,这与您拥有的不同。
标签: smtp swiftmailer