Symfony 2: Swiftmailer -Ausnahme
-
27-10-2019 - |
Frage
Ich habe an den Symfony 2 -E -Mails gearbeitet, die mit Swiftmailer senden.
Hier ist meine Swiftmailer -Konfiguration in App/config/config.yml
swiftmailer:
transport: gmail
username: myusername@gmail.com
host: smtp.gmail.com
password: mypassword
Ich habe auch meinen XAMPP localhost so konfiguriert, dass ich E -Mails senden kann.
Ich habe ein Formular, in dem der Benutzer E -Mail -Adressen (max. 5 E -Mails), Betreff und Nachricht eingibt. Für die ersten einige Tests zum Senden des Formulars die E -Mails, in denen gesendet wird. Ich habe auch E -Mails. Aber danach habe ich diesen Fehler unten wiederholt bekommen.
Auf dem SMTP -Server nicht authentifiziert mit dem Benutzernamen "myusername@gmail.com" mit 1 möglichen Authentikatoren 500 Interner Serverfehler - Swift_TransportException
Was ist das Problem hier? Ich habe auch versucht, mein XAMPP zu stoppen und es dann neu zu starten, aber das Problem bleibt bestehen. Weiß jemand hier, was das Problem hier ist?
Danke.
Lösung
Sie stehen vor diesem Problem, da Sie Ihren Mailing -Host nicht ordnungsgemäß ordnungsgemäß eingerichtet haben. Zunächst empfehle ich dringend, dass Sie einen Service wie z. Sendgrid und konfigurieren Sie es so detailliert darin Symfony2 Mailing -Setup -Tutorial:
mailer_transport: smtp
mailer_host: smtp.sendgrid.net
mailer_user: your_sendgrid_username
mailer_password: 'your_sendgrid_password'
mailer_port: 587
Das Tutorial enthält auch Details, wie Sie einen Mailingdienst in Symfony2 ordnungsgemäß einrichten und Mailingvorlagen erstellen können.
Wenn Sie jedoch Google Mail noch verwenden möchten, dann ist die richtige Konfiguration:
mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: your_gmail_address@gmail.com
mailer_password: 'your_gmail_password'
mailer_port: 587
Andere Tipps
So weit ich mich erinnere host
Wert wird ignoriert, wenn transport
ist eingestellt auf gmail
. Stellen Sie in Bezug auf Ihr Problem sicher, dass Sie die neueste Version von Swiftmailer (v4.1.5) verwenden, da es dort behoben wurde. Von ChangeLog:
- verhindert stream_socket_client () daran, einen Fehler zu erzeugen und stattdessen eine SWIFT_TRALSPORTException zu werfen
Im Allgemeinen, wenn die Authentifizierung fehlschlägt, eine Ausnahme des Typs Swift_TransportException
wird geworfen.