2013-10-02 5 views
5

Ich versuche, eine Testwebsite zu erstellen, die paypal Zahlung verarbeitet. Ich versuche, Benutzern eine E-Mail mit PHP SwiftMailer nach einer erfolgreichen Zahlung (das ist mein IPN) zu senden.PHP SwiftMailer Fehler beim Authentifizieren auf SMTP-Server

Hier ist mein Code für die Beförderung:

 $transport = Swift_SmtpTransport::newInstance('smtp.googlemail.com', 465, 'ssl') 
      ->setUsername('[email protected]') 
      ->setPassword('xxxx');  

    $mailer = Swift_Mailer::newInstance($transport); 

ich versucht hat, Googlemail und eine andere E-Mail zu verwenden, die unter einem gemeinsamen Server gehostet wird und beide haben Probleme einen Fehler heraus geben.

Leider erhalte ich diese üblichen Fehler:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "[email protected]" 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 

ich einige der Forschung getan haben und versuchte mehrere Ansatz bei der Einstellung meiner Transport. Aber trotzdem scheint nichts zu funktionieren. Bis ich gerade versucht habe, meinen IPN-Code auf einem anderen Server unter einer anderen Hosting-Firma zu platzieren, und es funktioniert überraschend. Derselbe Code von dem anderen.

Dies ist, warum ich denke, es ist etwas in den anderen Server muss eingestellt werden oder so etwas.

Gibt es Dinge, die ich sicherstellen muss, dass der SwiftMailer auf meinem Server aktiviert ist?

+0

Einige Domains lassen keine Mails auf anderen Domains zu, man kann nur E-Mails an "[email protected]" senden. Überprüfen Sie, ob das hier nicht der Fall ist. Zum Beispiel awardspace.net. – Jinandra

+3

Ich habe es funktioniert, indem Sie die Antwort hier anwenden: http: // stackoverflow.com/a/7170687/882773 – Atasha

+1

Ich machte diese Arbeit mit dem folgenden Vorschlag folgen: http://stackoverflow.com/questions/7170607/hostgator-wont-send-mail-via-php-swiftmail-api/7170687#7170687 – Atasha

Antwort

18

Dies könnte alt sein, aber jemand könnte Hilfe dabei bekommen. Auch ich hatte das selbe Problem und erhielt eine Mail in meinem Google Mail-Konto, in der stand, dass jemand versucht, Ihr Konto über einen E-Mail-Client oder eine andere Website zu hacken. THen, die ich gesucht und gefunden habe, würde das Problem unten lösen.

Gehen Sie zu https://accounts.google.com/UnlockCaptcha und entsperren Sie Ihr Konto für den Zugriff über andere Medien/Websites.

UPDATE: 2015

Auch können Sie dies versuchen, zu https://myaccount.google.com/security#connectedapps gehen Am unteren Ende nach rechts gibt es eine Option ist "Weniger sichere Apps zulassen". Wenn es "AUS" ist, schalten Sie es durch Drücken der Taste ein.

+0

Vielen Dank! Es funktionierte! – Robert

+0

Das hat auch für mich funktioniert. – b85411

3

Ich weiß, das ist alt, aber hoffentlich zeigt dies jemanden in die richtige Richtung. Ich hatte das gleiche Problem, wenn ich eine Kombination aus Mandrill und Swiftmailer benutzte.

Mein Problem war, dass der Server SMTP-Nachrichten von Port 587 stoppte, und dies war in Bezug auf die FKA SMTP Tweak-Einstellungen, die auf meinem Server waren.

Wenn Sie also über Cpanel verfügen und auf WHM zugreifen können, versuchen Sie, Ihre Maileinstellungen unter Tweaks zu überprüfen, um zu sehen, ob ausgehende SMTP-Nachrichten beschränkt sind. Eine andere Option ist, dass Ihr Server einen Port möglicherweise als verdächtig ansieht. Versuchen Sie, den Port zu ändern. Ich habe festgestellt, dass meine Hosting-Firma eine Liste mit geeigneten Ports hat.

+2

Ich brauchte einen ganzen Tag, um das herauszufinden. Wenn diese Funktion aktiviert ist (FKA SMTP Tweak), werden ausgehende SMTP-Verbindungen zum lokalen Mail-Server umgeleitet. root, exim und mailman dürfen weiterhin direkte Verbindungen herstellen. –

+0

Das hat sich geändert, hat aber noch nicht geholfen. – PlanetUnknown

+0

Deaktivierung der FKA SMTP Tweak hat mir geholfen. –

Verwandte Themen