2013-10-02 10 views
5

Próbuję utworzyć witrynę testową, która obsługuje płatność PayPal. Próbuję wysłać użytkownikom e-mail za pomocą PHP SwiftMailer po udanej płatności (która jest moim IPN).PHP SwiftMailer Nie można uwierzytelnić na serwerze SMTP

Oto mój kod do transportu:

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

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

Próbowałem użyć GoogleMail i kolejny e-mail, który jest obsługiwany pod wspólnym serwerze i oba mają problemy rozdawanie błąd.

Niestety, jestem coraz to zwykły błąd:

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 

zrobiłem rozeznanie i próbowaliśmy kilka podejście w ustawieniach mojego transportu. Ale wciąż nic nie działa. Dopóki nie próbowałem umieścić mojego kodu IPN na innym serwerze pod inną firmą hostingową i, co zaskakujące, działa. Ten sam kod od drugiego.

Dlatego domyślam się, że coś musi być ustawione na innym serwerze.

Czy muszę się upewnić, że na moim serwerze jest włączony SwiftMailer?

+0

Niektóre domeny nie umożliwiają wysyłania wiadomości e-mail w innych domenach, można wysyłać tylko wiadomości e-mail na adres "[email protected]_domeny.com". Sprawdź, czy tak nie jest w tym przypadku. Na przykład awardspace.net. – Jinandra

+3

Zrobiłem to działa, stosując odpowiedź tutaj: http: // stackoverflow.com/a/7170687/882773 – Atasha

+1

Zrobiłem tę pracę, korzystając z sugestii tutaj: http://stackoverflow.com/questions/7170607/hostgator-wont-send-mail-via-php-swiftmail-api/7170687#7170687 – Atasha

Odpowiedz

18

To może być stare, ale ktoś może uzyskać pomoc przez to. Ja też zmierzyłem się z tym samym problemem i otrzymałem wiadomość e-mail na moim koncie Gmail, stwierdzając, że ktoś próbuje włamać się do twojego konta przez klienta poczty e-mail lub inną stronę. THEN Szukałem i stwierdziłem, że wykonanie poniżej rozwiąże ten problem.

Przejdź do https://accounts.google.com/UnlockCaptcha i odblokuj swoje konto, aby uzyskać dostęp za pośrednictwem innych mediów/stron.

UPDATE: 2015

Ponadto, można spróbować tego, Idź do https://myaccount.google.com/security#connectedapps Na dole, w kierunku prawo istnieje opcja „Zezwalaj na mniej bezpieczne aplikacje”. Jeśli jest "OFF", włącz go, przesuwając przycisk.

+0

Dzięki! Zadziałało! – Robert

+0

To działało również dla mnie. – b85411

3

Wiem, że jest stary, ale mam nadzieję, że to wskazuje na kogoś w dobrym kierunku. Miałem ten sam problem przy korzystaniu z kombinacji Mandrill i Swiftmailer.

Mój problem polegał na tym, że serwer zatrzymywał wiadomości SMTP z portu 587, co było związane z ustawieniami SMTP FKA, które znajdowały się na moim serwerze.

Więc jeśli masz Cpanel i masz dostęp do WHM, spróbuj spojrzeć na ustawienia poczty w ramach poprawek, aby sprawdzić, czy wychodzące wiadomości SMTP są ograniczone. Inną opcją jest to, że twój serwer uważa port za podejrzany. Spróbuj zmienić port, okazało się, że moja firma hostingowa ma listę odpowiednich portów.

+2

Zajęło mi cały dzień, aby to zrozumieć. Gdy ta funkcja (FAKa SMTP Tweak) jest włączona, przekierowuje wychodzące połączenia SMTP do lokalnego serwera poczty. root, exim i mailman nadal mogą nawiązywać bezpośrednie połączenia. –

+0

Zmieniono to, ale jeszcze nie pomogło. – PlanetUnknown

+0

Zadziałało wyłączenie funkcji FAKT SMTP Tweak. –

Powiązane problemy