2013-10-02 36 views
5

Sto tentando di creare un sito di prova che gestisca il pagamento con PayPal. Sto cercando di inviare agli utenti un'email usando PHP SwiftMailer dopo un pagamento andato a buon fine (che è il mio IPN).PHP SwiftMailer Impossibile autenticare sul server SMTP

Ecco il mio codice per il trasporto:

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

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

Ho provato ad utilizzare Googlemail e un altro e-mail che è ospitato in un server condiviso ed entrambi hanno problemi dando fuori un errore.

Purtroppo, sto ottenendo questo errore usuale:

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 

Ho fatto qualche ricerca e provato diversi approccio nella cornice del mio trasporto. Ma ancora niente sembra funzionare. Fino a quando ho appena provato a posizionare il mio codice IPN su un altro server sotto un'altra società di hosting e, sorprendentemente, funziona. Lo stesso codice dall'altro.

Questo è il motivo per cui immagino ci sia qualcosa nell'altro server che deve essere impostato o qualcosa del genere.

Ci sono cose di cui ho bisogno per assicurarmi che sul mio server sia abilitato il funzionamento di SwiftMailer?

+0

Alcuni domini non lasciare che l'invio di mail su altri domini, si può solo inviare messaggi di posta elettronica a "[email protected]". Controlla se non è questo il caso. Per esempio awardspace.net. – Jinandra

+3

Ho fatto il lavoro applicando la risposta qui: http: // StackOverflow.com/a/7170687/882.773 – Atasha

+1

ho fatto questo lavoro con seguendo il suggerimento qui: http://stackoverflow.com/questions/7170607/hostgator-wont-send-mail-via-php-swiftmail-api/7170687#7170687 – Atasha

risposta

18

Questo potrebbe essere vecchio ma qualcuno potrebbe ottenere aiuto attraverso questo. Anch'io ho affrontato lo stesso problema e ho ricevuto una mail sul mio account Gmail affermando che qualcuno sta cercando di hackerare il tuo account attraverso un client di posta elettronica o un altro sito. Allora ho cercato e ho scoperto che fare di seguito avrebbe risolto il problema.

Vai a https://accounts.google.com/UnlockCaptcha e sblocca il tuo account per l'accesso tramite altri media/siti.

UPDATE: 2015

Inoltre, si può provare questo, Vai a https://myaccount.google.com/security#connectedapps In basso, verso destra c'è l'opzione "Consenti app meno sicure". Se è "OFF", accenderlo facendo scorrere il pulsante.

+0

Grazie! Ha funzionato! – Robert

+0

Questo ha funzionato anche per me. – b85411

3

So che questo è vecchio, ma spero che questo indichi qualcuno nella giusta direzione. Ho avuto lo stesso problema quando uso una combinazione Mandrill e Swiftmailer.

Il mio problema era che il server è stato arresto messaggi SMTP dalla porta 587, e questo era in relazione alle impostazioni SMTP FKA Tweak che erano sul mio server.

Quindi, se si dispone di cPanel e WHM possibile accedere, prova a guardare le impostazioni della posta in tweaks per vedere se la posta SMTP in uscita è limitato. Un'altra opzione è che forse il tuo server considera sospetta una porta. Prova a cambiare la porta, ho scoperto che la mia società di hosting aveva una lista di porte adatte.

+2

Mi ci è voluto un giorno intero per capirlo. Quando questa funzione (FKA SMTP Tweak) è abilitata, reindirizzerà le connessioni SMTP in uscita al server di posta locale. root, exim e mailman sono ancora autorizzati a stabilire connessioni dirette. –

+0

Modificato questo, ma non ha ancora aiutato. – PlanetUnknown

+0

La disattivazione di FKA SMTP Tweak ha funzionato. –

Problemi correlati