SMTP Formularversand in Contao 4.4 oder 4.9

Das der Standardversand nicht funktioniert merkt man in Contao 4.4 oder 4.9 oft daran, dass eine Fehlermeldung beim absenden eines Fomulares ausgegeben wird.

Blickt man in die Logdatei (/var/logs) sieht man dort etwas wie:

request.CRITICAL: Uncaught PHP Exception Swift_TransportException: 
"Expected response code 220 but got an empty response" 
at /mnt/web119/c2/07/534807/htdocs/contao49/vendor/swiftmailer/
swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php 
line 445 usw.

Lösung: Der Versand via SMTP

Was in Contao 3 noch einfach möglich war, ist in Contao 4.4 oder 4.9 etwas versteckt.

Man muss in die Datei parameters.yml im Ordner /app/config (Contao 4.4) bzw. /config (Contao 4.9).

Dort ergänzt man die Parameter:

mailer_transport: smtp
mailer_host: [SMTP HOST]
mailer_user: [SMTP USER]
mailer_password: [SMTP PASS]
mailer_port: [SMTP PORT]
mailer_encryption: [SMTP ENCRYPTION]

Tragt die passenden SMTP-Daten dort ein. Bei [SMTP ENCRYPTION] trägt man tls oder ssl ein, je nachdem was man verwendet.

Wichtig: in der parameters.yml bitte keine Tabulatoren verwenden, sondern vier Leerzeichen um die Parameter einzurücken.

Hat man diese Änderungen vorgenommen, sollte man im Contao Manager noch den Composer-Cache leeren und den Prod.-Cache erneuern. Ansonsten werden die Änderungen nicht wirken.

Nachtrag: Beachten muss man unbedingt, dass man bei der [SMTP ENCRYPTION] tls oder ssl klein schreibt. Also nicht SSL oder TLS. Ansonsten erhält man beim Prod.-Cache leeren Probleme. Contao will dann eine Reparatur ausführen und meldet als Fehler: "SSL" encryption is not supported.

Zurück