因此,我尝试使用swiftmailer通过gmail帐户发送电子邮件。我知道有一些问题可以解决这个问题,但没有一个提出的解决方案对我有帮助。我的问题是,当我运行我的代码时,我得到"PHP致命错误:未捕获异常'Swift_TransportException‘,消息’预期响应代码250,但得到代码"535",消息"535-5.7.8用户名和密码未接受“。我知道我的密码和用户名是正确的,并且谷歌两步验证没有启用。这是我的代码:
注册表'vendor/swiftmailer/swiftmailer/lib/classes/Swift.php';require_once::registerAutoload();
require_once 'vendor/swiftmailer/swiftmailer/lib/swift_required.php';
require_once 'vendor/swiftmailer/swiftmailer/lib/swift_init.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername ('myemail@gmail.com')
->setPassword ('mypassword');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Weekly Hours')
->setFrom (array('myemail@gmail.com' => 'My Name'))
->setTo (array('recipient@hotmail.com' => 'Recipient'))
->setSubject ('Weekly Hours')
->setBody ($data, 'text/html');
$result = $mailer->send($message);请注意,我还尝试了使用'lss‘加密的端口465。提前谢谢。
发布于 2015-04-29 15:07:09
这个问题可能与谷歌可以使用一系列IP地址的事实有关。
在我的例子中,我用这样的东西解决了这个问题:
#get the host dynamically
$smtp_host_ip = gethostbyname('smtp.gmail.com');
#set the transport
$transport = Swift_SmtpTransport::newInstance($smtp_host_ip,465,'ssl')->setUsername('myemail@gmail.com')->setPassword('mypassword');我希望它能帮上忙。
https://stackoverflow.com/questions/26416410
复制相似问题