PHP SwiftMailer无法在SMTP服务器上进行身份验证

Ata*_*sha 5 php email sendmail swiftmailer

我正在尝试创建一个处理paypal付款的测试网站.我试图在成功付款后使用PHP SwiftMailer向用户发送电子邮件(这是我的IPN).

这是我的传输代码:

        $transport = Swift_SmtpTransport::newInstance('smtp.googlemail.com', 465, 'ssl')
          ->setUsername('xxx@xxx.co.uk')
          ->setPassword('xxxx');    

    $mailer = Swift_Mailer::newInstance($transport);
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用googlemail和另一封托管在共享服务器下的电子邮件,但两者都有问题发出错误.

不幸的是,我收到了这个常见的错误:

  Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "xxx@xxx.co.uk" using 2 possible authenticators' in /home/xxx/public_html/paypal/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184 

  Stack trace: 

  #0 /home/xxx/public_html/paypal/lib/classes/Swift/Transport/EsmtpTransport.php(312): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport)) 

  #1 /home/xxx/public_html/paypal/lib/classes/Swift/Transport/AbstractSmtpTransport.php(120): Swift_Transport_EsmtpTransport->_doHeloCommand() 

  #2 /home/xxx/public_html/paypal/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() 

  #3 /home/xxx/public_html/paypal/ipn.php(113): Swift_Mailer->send(Object(Swift_Message)) 

  #4 /home/mctikudo/public_html/paypal/ipn.php(46): sendMail(Resource id #3, Array) 

  #5 {main} thrown in /home/xxx/public_html/paypal/lib/classes/Swift/Transport/Esmtp/AuthHandler.php on line 184
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,并尝试了几种方法来设置我的运输.但似乎仍然没有任何效果.直到我试图将我的IPN代码放到另一家托管公司下的另一台服务器上,令人惊讶的是,它的确有效.来自另一个的相同代码.

这就是为什么我猜其他服务器中有东西必须设置或什么的.

我需要确保在我的服务器上启用SwiftMailer工作吗?

ron*_*neo 18

这可能是旧的,但有人可能会得到帮助.我也面临同样的问题,并在我的Gmail帐户上收到一封邮件,说明有人试图通过电子邮件客户端或其他网站破解您的帐户.我搜索过,发现下面这样做可以解决这个问题.

转到https://accounts.google.com/UnlockCaptcha并解锁您的帐户,以便通过其他媒体/网站进行访问.

更新:2015年

此外,您可以尝试此操作,请访问https://myaccount.google.com/security#connectedapps 在底部,右侧有一个选项"允许安全性较低的应用".如果是"OFF",请通过滑动按钮将其打开.


PvP*_*ten 5

如前所述,这可能是旧的,但您可以尝试允许gmail通过不太安全的应用程序发送邮件.

https://www.google.com/settings/security/lesssecureapps

这使它对我有用,我遇到了同样的问题.