美文网首页程序员
php利用swiftmailer发送邮件的坑

php利用swiftmailer发送邮件的坑

作者: nulldream | 来源:发表于2017-02-18 15:38 被阅读0次

    只想说这个坑让我有点累

    一、设置好账号密码,满心欢喜的开始测试,纳尼!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
    

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

    错误提示如下:

    <br />
    <b>Fatal error</b>:  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 <b>/home/nulldream/www/AppPassword/swiftmailer-master/lib/classes/Swift/Transport/Esmtp/AuthHandler.php</b> on line <b>184</b><br />
    

    没错就是这坑爹的qq邮箱,查了半天终于找到解决方法了,方法如下
    1、一定要打你ssl链接扩展,php扩展打开方式如:

    //打开你php.ini文件,本人的位于 /etc/php/7.0/apache2/php.ini
    //搜索extension=php_openssl.dll
    ;extension=php_openssl.dll
    //如果前面有分号记得去掉,就是启用该扩展
    

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

    qq邮箱.jpeg

    3、部分代码如下:

    //配置邮件服务器,得到传输对象
    $transport=Swift_SmtpTransport::newInstance('smtp.qq.com', 465, 'ssl');
    //这是关键
    
    基本上就这样了,后面可能会去把他封装到框架去

    相关文章

      网友评论

        本文标题:php利用swiftmailer发送邮件的坑

        本文链接:https://www.haomeiwen.com/subject/xworwttx.html