swift php 邮件,php利用swiftmailer发送邮件的坑

只想说这个坑让我有点累

一、设置好账号密码,满心欢喜的开始测试,纳尼!500的错误是什么鬼!!!

好吧!原来是自己没有开启php错误显示,开启方法如下:

1、打开文件并搜索并修改下行,把Off值改成On

display_errors = Off

改成

display_errors = on

2、在搜索一下error_reporting,修改如下:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

改成

error_reporting = E_ALL | E_STRICT

3、最后重启apache服务

sudo /etc/init.d/apache2 restart

二、终于看到错误是什么了!然而看上去就是一脸懵逼

错误提示如下:

Fatal error: Uncaught Swift_TransportException: Failed to authenticate on SMTP server with username "984920281@qq.com" using 1 possible authenticators in /home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184

Stack trace:

#0 /home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Transport/EsmtpTransport.php(312): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport))

#1 /home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Transport/AbstractSmtpTransport.php(120): Swift_Transport_EsmtpTransport->_doHeloCommand()

#2 /home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start()

#3 /home/nulldream/www/AppPassword/register.php(65): Swift_Mailer->send(Object(Swift_Message))

#4 {main}

thrown in /home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Transport/Esmtp/AuthHandler.php on line 184

没错就是这坑爹的qq邮箱,查了半天终于找到解决方法了,方法如下

1、一定要打你ssl链接扩展,php扩展打开方式如:

//打开你php.ini文件,本人的位于 /etc/php/7.0/apache2/php.ini

//搜索extension=php_openssl.dll

;extension=php_openssl.dll

//如果前面有分号记得去掉,就是启用该扩展

2、你的qq邮箱一定要打开smtp服务,然后拿到授权码,填入的密码是授权码,不是我们的密码

6216e5142eb9

qq邮箱.jpeg

3、部分代码如下:

//配置邮件服务器,得到传输对象

$transport=Swift_SmtpTransport::newInstance('smtp.qq.com', 465, 'ssl');

//这是关键

基本上就这样了,后面可能会去把他封装到框架去


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部