Symfony 2: eccezione Swiftmailer
-
27-10-2019 - |
Domanda
Ho lavorato sulle Symfony 2 invio di email utilizzando Swiftmailer.
Qui è la mia swiftmailer di configurazione in app / config / config.yml
swiftmailer:
transport: gmail
username: myusername@gmail.com
host: smtp.gmail.com
password: mypassword
Inoltre ho configurato il mio XAMPP localhost per inviare messaggi di posta elettronica.
Ho una forma in cui utente inserisce indirizzi di posta elettronica (max 5 e-mail), messaggio e all'oggetto. Per primi test sulla trasmissione del modulo le e-mail in cui inviate. Ho anche effettivamente avuto messaggi di posta elettronica. Ma dopo che ho ottenendo questo errore di seguito più volte.
Impossibile autenticare il server SMTP il nome utente "myusername@gmail.com" usando 1 possibilità autenticatori 500 Internal Server Error - Swift_TransportException
Qual è il problema qui? Ho provato anche fermare il mio XAMPP e poi ri-partenza, ma ancora il problema persiste. Fa Uno sa che cosa è il problema qui?
Grazie.
Soluzione
Si sta di fronte a questo problema, perché non avete impostata correttamente la vostra mailing host. Prima di tutto, vi consiglio vivamente di utilizzare un servizio come SendGrid e configurarlo come spiegato in questo Symfony2 Setup List Tutorial :
mailer_transport: smtp
mailer_host: smtp.sendgrid.net
mailer_user: your_sendgrid_username
mailer_password: 'your_sendgrid_password'
mailer_port: 587
L'esercitazione contiene anche informazioni su come impostare correttamente un servizio di mailing in Symfony2 e come modelli di accumulo mailing.
Ma se si vuole ancora utilizzare Gmail, quindi la configurazione corretta è:
mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: your_gmail_address@gmail.com
mailer_password: 'your_gmail_password'
mailer_port: 587
Altri suggerimenti
Per quanto mi ricordo valore host
viene ignorato, quando transport
è impostato su gmail
. Per quanto riguarda il tuo problema, assicurarsi che si sta utilizzando la versione più recente di SwiftMailer (4.1.5), perché non è stato risolto. Dal changelog:
- stream_socket_client impedito () di generare un errore e lanciare uno Swift_TransportException invece
In generale, se l'autenticazione non riesce, un'eccezione di tipo Swift_TransportException
sarà
essere gettato.