Kontaktformulare & E-Mail Versand in TYPO3 konfigurieren

Probleme beim Versand von E-Mails, zum Beispiel in Formularen oder bei Anmeldungen, an andere Provider (bspw. web.de, t-online.de, gmx.net, gmail.com etc.) beheben.

Problembeschreibung und Hintergründe

Bei den nachfolgend beschriebenen Konfigurationen kann es bei der Zustellung oder des Versands von E-Mails zu Problemen kommen. Dies trifft auch auf die Konfiguration anderer CMS zu, bitte erkundigen Sie sich bei Ihrem zuständigen Programmierer oder Ihrer Agentur, ob Anpassungen erforderlich sind.

  • Werden E-Mails, nicht über einen zur Domain gehörenden Mailserver versendet, erfolgt beim Empfänger meist eine Markierung als SPAM oder die E-Mail wird von unserem Mailserver erst gar nicht versendet, falls ein SPF Record mit -all im DNS der Domain hinterlegt ist.
  • Erfolgt der Versand von E-Mails über den Webserver per Sendmail, kann es beim Empfänger zu einer Ablehnung führen, wenn dieser nur TLS ab der Version 1.2 zulässt, da unser Webserver E-Mails mit der TLS-Version 1.1 versendet.
  • Bei der Konfiguration von Formularen wird der Versand verweigert, wenn die im Formular eingetragene E-Mail Adresse als envelope-from (Absenderadresse) anstatt als reply-to (Antwortadresse) falsch konfiguriert wurde und dadurch die envelope-from E-Mail Adresse nicht mit der Domain der Webseite übereinstimmt.

Vorbereitungen in der Konfiguration von TYPO3

Damit E-Mails von der Webseite nicht über den Webserver, sondern über einen zur Domain gehörenden oder autorisierten Mailserver versendet werden, muss im TYPO3 Backend ein Versandpostfach konfiguriert werden.

Das Postfach sollte ausschließlich für den Versand von E-Mails genutzt werden, die von der Website versendet werden, da das Passwort in der Konfigurationsdatei ausgelesen werden kann.

Versand über Postfach in TYPO3 konfigurieren

TYPO3 9 LTS

  1. Gehen Sie im Backend unter dem Modul Adminwerkzeuge in die Einstellungen
  2. Dort klicken Sie unter Configuration Presets auf Configuration Presets
  3. Öffnen Sie den Abschnitt Mail handling settings
  4. Tragen Sie die Daten Ihres Postfachs in den entsprechenden Feldern, laut unserem Bildschirmfoto, ein
  5. Um die eingetragenen Daten zu speichern klicken Sie auf die Schaltfläche Activate und schließen Sie anschließend das Fenster über das X
  6. Schließen Sie die Konfiguration des Formulars anhand der nachfolgenden Anleitungen ab

TYPO3 8 LTS

In dieser Anleitung wird gezeigt, wie man im Install Tool den E-Mail Versand über einen SMTP Server einrichtet.

Zugangsdaten im Installtool hinterlegen

  1. Rufen Sie das Installtool auf und gehen Sie in den Bereich All Configuration-> Mail
  2. Tragen Sie für den Parameter [MAIL][transport] den Wert smtp ein
  3. Für den Parameter [MAIL][transport_smtp_server] tragen Sie sslout.de:465 ein
  4. Beim Parameter [MAIL][transport_smtp_encrypt] tragen Sie ssl ein
  5. Bei den Parametern [MAIL][transport_smtp_username] und [MAIL][transport_smtp_password] hinterlegen Sie die E-Mailadresse und das Kennwort des E-Mailkontos ein, das zum Versand genutzt werden soll
  6. Speichern Sie anschließend die Konfiguration durch einen Klick auf die Schaltfläche Write Configuration

Danach können Sie sich im Bereich Test Setup eine E-Mail schicken um zu überprüfen, ob der Versand korrekt funktioniert.

Optional können Sie im Bereich All Configuration -> Mail auch noch die Parameter [MAIL][defaultMailFromAddress] und [MAIL][defaultMailFromName] setzen, um die Standard-Absenderadresse und den Standard-Namen für ausgehende Mails festzulegen. Das muss jedoch nicht unbedingt gemacht werden.

Mit Form erstellte Formulare konfigurieren

Erforderliche Anpassungen

  1. Rufen Sie das Seitenmodul Formulare auf
  2. Das eingerichtete Formular auswählen
  3. Die Option E-Mail Senden (Empfänger) auf der rechten Seite aufklappen
  4. Die Absenderadresse auf die E-Mail Adresse ändern, mit der Sie die E-Mails per SMTP verschicken.
  5. Im Reply-To Feld den Marker (z.B. {email-1}) eintragen. Der Marker ist der Name des Feldes in dem die E-Mail Adresse des Absenders eingetragen wird.
  6. Im Plugin, dort wo das Formular eingebunden ist, überprüfen Sie, ob eine andere Konfiguration (Finisher überschreiben) hinterlegt wurde. Diese muss bei Bedarf ebenfalls angepasst werden.

Was hat sich geändert?

Bei der Konfiguration der Form Extension wird für die Kopie an den Empfänger standardmäßig die im Formular eingetragene E-Mail Adresse hinterlegt. Da sich dadurch der versendende Mailserver und die Absender-E-Mail Adresse unterscheiden, werden die E-Mails an den Empfänger nicht mehr zugestellt, da die E-Mail Anbieter dies durch einen SPF-Eintrag in ihren eigenen Nameservern verbieten.

Vor der Konfiguration wurden die Benachrichtigungsmails zwar an die im Plugin hinterlegte Adresse verschickt, jedoch wurde als Absender From: die E-Mail Adresse des Besuchers verwendet. Dies führt dazu, dass das sogenannte "Sender Policy Framework" Verfahren (SPF-Prüfung) die E-Mail als nicht vertrauenswürdig einstufen kann und die Mail gar nicht erst verschickt wird. Durch die Änderung der Absenderadresse wird die E-Mail korrekt über den Mailserver der Domain verschickt, wodurch keine Probleme beim Versand mehr auftreten sollten.

Mit Powermail erstellte Formulare konfigurieren

Wird bei der Konfiguration des Powermail Formulars die Option "Dieses Feld beinhaltet die E-Mail des Absenders" aktiviert, setzt Powermail die eingetragene E-Mail Adresse als Absenderadresse (envelope-from). Dies sorgt dafür, dass einige Provider die E-Mail nicht versenden, da die E-Mail Adresse nicht zum versendenden Mailserver passt und dies häufig von Spamversendern genutzt wird, um Absenderadressen zu fälschen.

Erforderliche Anpassungen

  1. Der Mailversand sollte generell über einen SMTP-Server erfolgen
  2. Die Absenderadresse des Formulars muss mit der Versandadresse übereinstimmen
  3. Die reply-to E-Mail Adresse muss gesetzt werden, damit dem Absender des Formulars geantwortet werden kann

Bis zur aktuellen Version bietet Powermail leider keine Möglichkeit, diese Konfiguration mit über die Plugin-Benutzeroberfläche vornehmen zu lassen. Hierzu sind einige Zeilen TypoScript notwendig.

Hierzu müssen wir ins Backend und anschließend das "Template" Modul öffnen. Wird das statische Template von Powermail direkt auf der Root-Seite eingebunden, so muss diese im Seitenbaum ausgewählt werden. Andernfalls wird entweder die Kontakt-Seite ausgewählt oder im Besten fall das TypoScript direkt im Sitepackage hinzugefügt.

Unter dem Punkt "Setup" fügen wir nun folgende Zeilen TypoScript ein und passen die Werte nach dem ".value =" entsprechend an:

plugin.tx_powermail.settings.setup.receiver.overwrite.senderEmail = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.senderEmail.value = typoscript@domain.tld
plugin.tx_powermail.settings.setup.receiver.overwrite.senderName = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.senderName.value = Admin from TypoScript

Die E-Mail Adresse muss identisch mit der in den Zugangsdaten sein. Sollte nicht bekannt sein, welche E-Mail Adresse Konfiguriert wurde, sollte das oben in der Infobox verlinkte Tutorial des Rätsels Lösung sein. Der Name kann frei gewählt werden.

Anschließend abspeichern und alle Caches leeren. Die Benachrichtigungsmails werden dann wieder korrekt verschickt.

Was hat sich geändert?

Vor der Konfiguration wurden die Benachrichtigungsmails zwar an die im Plugin hinterlegte Adresse (in unserem Beispiel admin@domain.tld) verschickt, jedoch wurde als Absender From: die E-Mail Adresse des Besuchers verwendet. Dies führt dazu, dass das sogenannte "Sender Policy Framework" Verfahren die E-Mail als nicht vertrauenswürdig einstufen kann und die Mail gar nicht erst verschickt wird. Mit der TypoScript Konfiguration überschreiben wir den Absender mit unserer eigenen E-Mail Adresse, belassen die Antwortadresse Reply-To: allerdings bei der Besucher E-Mail Adresse, damit wie gewohnt auf Kontaktanfragen per Mail geantwortet werden kann.