我希望使用下面的PHP脚本和Swiftmailer发送通过Gmail的SMTP发送电子邮件。在我的自己的Web服务器上,这个脚本可以很好地运行。但是,在我为之创建此脚本的人的Web服务器上使用时,出现了一个异常:
这是我的 PHP 代码:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Connection timed out #110]' in ...
可能的问题是什么呢?我猜想这可能与服务器设置有关,因为这段代码在我自己的Web服务器上可以正常工作。我已经通过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);
smtp.googlemail.com
,与你的不同。 - Chloe