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);
共有サーバーでホストされている 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
私はいくつかの調査を行い、輸送の設定でいくつかのアプローチを試みました。しかし、まだ何も機能していないようです。IPNコードを別のホスティング会社の下にある別のサーバーに配置しようとするまでは、驚くべきことにうまくいきました. 他のコードと同じコード。
これが、他のサーバーに何かを設定する必要があると推測する理由です。
SwiftMailer を機能させるためにサーバーで有効になっていることを確認する必要があることはありますか?