Die Mails aus Ihrem Kontaktformular kommen nicht mehr an?

Ihre Formular-Mails werden höchstwahrscheinlich direkt über den Webserver verschickt anstatt über einen echten Mailserver. Die Lösung heisst SMTP.

Der Beispiel-Fall

Anna bestellt über das Bestellformular auf Berts Website bertsbienen.ch ein Glas Honig. Bert erhält daraufhin eine E-Mail mit Annas Bestellung und Anna erhält eine Bestätigungs-E-Mail, dass Sie ihr Glas Honig innert drei Tagen bekommen wird. Nun erhält Bert aber plötzlich die E-Mails aus dem Bestellformular nicht mehr, obwohl sie vom Formular versendet werden.

Dabei ist es wichtig zu verstehen, dass Anna die Nachricht via Formular an den Webserver schickt und der Webserver schickt eine Kopie dieser Nachricht an Bert – Sender und Empfänger kommunizieren also nicht direkt.
Der Weg von Anna zum Formular hat demnach geklappt. Der Weg vom Formular zu Bert hat aber nicht funktioniert.

Übertrag ins «echte Leben»

Anna schreibt einen Brief an Bert. Nachdem sie den Brief fertig geschrieben hat, wirft sie ihn in den Briefkasten. Der Briefkasten liefert den Brief an Bert aus.

Einigen von Ihnen wird das auf den ersten Blick logisch vorkommen, anderen nicht. Diejenigen, die etwas Komisches wittern, werden die Annahme des Briefes verweigern, die anderen werden ihn akzeptieren. Genauso funktioniert es mit Spamfiltern von verschiedenen Anbietern. Einige werten dasselbe Mail als suspekt, andere nicht.

Das Suspekte an obigem Beispiel ist, dass Briefkästen (also Webserver) eigentlich keine Briefe ausliefern. Das tut der Postbote und diese Rolle übernimmt im Internet der Mailserver.
Nun ist es Gang und Gäbe, dass im Internet der Postbote bzw. Mailserver übergangen wird. Dies kann aber wie beschrieben zu Problemen führen, wenn der Spamfilter plötzlich Alarm schlägt.

Lösungsansatz: PHP-Mailer vs SMTP – wir brauchen einen Postboten

Das Verfahren, in dem der Mailserver übergangen wird und Mails direkt über den Webserver versendet werden, nennt sich PHP Mailer und ist in den grossen Content Management Systemen bereits voreingestellt, da es am wenigsten Konfiguration braucht.

Das korrekte Vorgehen heisst SMTP (Simple Mail Transfer Protocol).
Dabei nimmt der Postbote (Mailserver) den Brief aus dem Briefkasten (Webserver) entgegen und liefert ihn aus. Mittels SMTP wird also ein echter Mailserver dazwischen geschaltet. Dazu brauchen wir einen eigenen Mailaccount, dessen Zugangsdaten wir in den SMTP-Einstellungen angeben müssen.

Für die, die es genau wissen wollen

Konkret geht es um die Formular-Felder «From», «To» und «Reply-To». In diese Felder könnte man praktisch alles einsetzen, was man möchte. Diese Tatsache eröffnet tolle Möglichkeiten für Spammer – aber das Netz lernt und so kontrollieren moderne Server mittels Spamfiltern zunächst, ob diese Angaben auch plausibel sind, bevor sie eine E-Mail in den Posteingang lassen.

Die zwei wichtigsten Regeln im Zusammenhang mit Spamfiltern:

  1. Sender (Reply-To), Empfänger (To) und der Auslieferer (From) müssen unterschiedliche E-Mail-Adressen haben.
  2. Die E-Mails müssen von einem echten Mailserver kommen (nur mit SMTP möglich).

In unserem Beispiel wäre dies die korrekte Konstellation:
From: no-reply@bertsbienen.ch
To: bert@bertsbienen.ch
Reply-To: anna@gmail.com

Und trotzdem gibt es keine Garantie, dass das immer funktioniert. So wie viele Wege nach Rom führen, führen auch viele Wege ins Mail-Nirvana. Mit den oben erwähnten Einstellungen ist man aber wenigstens als Website-Betreuer auf der sicheren Seite.