Lemme前缀,这个问题通过说我已经搜索了3天可以用来发送邮件的新gmail数据。Gmail和Swift邮件不再适用于
所以建立斯威夫特的交通时,我providing this
Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'tls')
而且也,而不是465,提供587没有运气。错误就像它开始运行一个无限循环,然后脚本执行停止。
数据(用户名/密码)是100%正确的,并且已经过隔离测试。 (假设test.php
包含Swift库),如果有帮助的话。
具体来说:
<?php
// File:test.php
require(__DIR__ . '/vendor/SwiftMailer/swift_required.php');
$email = '[email protected]';
$pass = 'my-password';
$html = '<p>Foo bar</p>';
// Build a transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername($email)
->setPassword($pass);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('New email')
->setFrom(array($email => 'Test app'))
->setTo(array($email))
->setBody($html, 'text/html');
$mailer->send($message);
它抛出:
未捕获的异常 'Swift_TransportException' 有消息 '无法使用TLS加密连接'
而且使用时:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
它结束了无尽的循环。
厌倦了在谷歌搜索这个Gmail的问题。也许任何人都面临这一点,并已有解决方案了?
尝试在github上打开问题https://github.com/swiftmailer/swiftmailer/issues – Saqueib 2015-02-09 09:14:25
465正在使用ssl,而587正在使用tls。 (只需几秒钟即可查找google的相关文档:https://support.google.com/a/answer/176600?hl = zh_CN)。从Swift文档: 要使SSL或TLS加密起作用,您的PHP安装必须具有适当的OpenSSL传输包装。您可以通过使用PHP函数stream_get_transports() – 2015-02-09 09:21:24
@Markus no来检查PHP安装中是否存在“tls”和/或“ssl”,我已经提到,通过说厌倦了搜索这个问题,并且我已经遇到类似你的建议。我的问题是,它过去曾经工作过,但现在它不再有效。是的,我很清楚它需要tls或ssl,所以是的,他们被加载 – Yang 2015-02-09 09:38:16