Für die Groß- und Kleinschreibung gelten bei E-Mail-Adressen zwei verschiedene Regeln. Bei der Domain nach dem @ macht sie keinen Unterschied. Beim Lokalteil vor dem @ kann sie eine Rolle spielen; das hängt vom empfangenden Mailsystem ab. Bei einer Adresse, die Sie nicht selbst verwalten, sollten Sie den Lokalteil daher unverändert erhalten und nur die Domain normalisieren.
So kann aus Alex.Smith+orders@EXAMPLE.COM die Adresse Alex.Smith+orders@example.com werden, ohne dass sich die Bedeutung der Domain ändert. Bei alex.smith+orders@example.com wurde auch der Lokalteil verändert. Sie können deshalb nicht voraussetzen, dass damit derselbe Empfänger gemeint ist.
Domain und Lokalteil folgen unterschiedlichen Regeln
RFC 5321, Abschnitt 2.4 verlangt, dass SMTP-Implementierungen die Groß- und Kleinschreibung des Lokalteils erhalten. Bei Postfachdomains spielt sie dagegen keine Rolle. Der Standard rät empfangenden Systemen außerdem davon ab, Postfächer allein anhand der Groß- und Kleinschreibung zu unterscheiden, weil dies die Zusammenarbeit verschiedener Systeme erschwert.
Ein empfangendes System kann Nachrichten an Alex@example.com und alex@example.com also demselben Postfach zustellen. Ein anderes kann die beiden Adressen unterschiedlich behandeln. Der Standard gibt Ihrer Anwendung keine allgemeingültige Regel, nach der diese Lokalteile gleichwertig sind.
Großbuchstaben allein sind kein Formatfehler. Wenn ein Formular eine Adresse mit gemischter Schreibweise ablehnt, prüfen Sie zunächst die Validierung, bevor Sie die Person um eine Änderung bitten. Der Leitfaden zur E-Mail-Syntax erklärt die weiteren Formatregeln.
Die folgenden Beispiele verwenden erfundene ASCII-Adressen mit DNS-Domains. Sie zeigen Regeln für die Verarbeitung, keine funktionierenden Postfächer. Internationalisierte Adressen und Lokalteile in Anführungszeichen benötigen einen Parser, der sie ausdrücklich unterstützt. Die Beispiele sind kein allgemeiner Algorithmus zum Zerlegen von E-Mail-Adressen.
Die Kontaktadresse beim Speichern erhalten
Behalten Sie nach der Eingabeprüfung den Lokalteil für Nachrichten, Verifizierungsanfragen und die Anzeige bei. Wenn Sie eine normalisierte Adresse speichern, verwenden Sie einen Parser, der die Domain getrennt verarbeitet. Wenn Sie die gesamte Zeichenfolge in Kleinbuchstaben umwandeln, geht die ursprüngliche Schreibweise des Lokalteils verloren.
| Eingegebene Adresse | Adresse mit normalisierter Domain | Was unverändert bleibt |
|---|---|---|
Alex@EXAMPLE.COM |
Alex@example.com |
Groß- und Kleinschreibung des Lokalteils |
Alex.Smith@example.com |
Alex.Smith@example.com |
Schreibweise und Punkt |
Alex.Smith+orders@EXAMPLE.COM |
Alex.Smith+orders@example.com |
Schreibweise, Punkt und Pluszusatz |
Auch Punkte und Pluszusätze haben im empfangenden System eine eigene Bedeutung. Erhalten Sie diese ebenfalls. Der Leitfaden zur Plusadressierung behandelt die Validierung und Übertragung solcher Adressen.
Der aktuelle Adressparser von Emvero folgt dieser Trennung: Er erhält den Lokalteil und normalisiert die Domain. Diese Umwandlung allein sagt nichts darüber aus, ob das Postfach existiert.
Kontaktadresse und Vergleichswert getrennt speichern
Eine Anwendung kann Konten anhand der E-Mail-Adresse zuordnen, ohne dabei Groß- und Kleinschreibung zu unterscheiden. Diese Regel wirkt sich auf Registrierung, Anmeldung und Wiederherstellung aus. Sie sagt nichts darüber aus, wie ein externer Mailserver die Adresse behandelt.
Speichern Sie für eine solche Zuordnung einen Vergleichswert neben der Kontaktadresse. Ein Wert in Kleinbuchstaben kann helfen, ein möglicherweise vorhandenes Konto zu finden, während im Kontaktfeld weiterhin Alex.Smith+orders@example.com steht. Prüfen Sie neben dem Anwendungscode auch die Vergleichsregeln der Datenbank. Beide müssen die gewählte Regel umsetzen.
Ein übereinstimmender Vergleichswert darf weder zwei bestehende Konten automatisch zusammenführen noch Zugriff auf eines davon gewähren. Klären Sie einen solchen Konflikt über den vorgesehenen Prozess zur Wiederherstellung oder Verknüpfung von Konten, der eine Authentifizierung voraussetzt. Senden Sie eine Wiederherstellungsnachricht an die bereits hinterlegte Kontaktadresse des gefundenen Kontos. Ersetzen Sie diese nicht durch eine neue Schreibweise aus der Suchanfrage.
Wenden Sie bei Registrierung und Anmeldung dieselbe Zuordnungsregel an. Sonst akzeptiert ein Formular möglicherweise eine Adresse, die der nächste Schritt nicht findet. Legen Sie fest, was geschieht, wenn sich Adressen nur in der Groß- und Kleinschreibung des Lokalteils unterscheiden. Falls Ihre Anwendung für diese Varianten nur ein Konto zulässt, erklären Sie diese Einschränkung beim Versuch einer zweiten Registrierung.
Wenn Adressen bereits in Kleinbuchstaben gespeichert sind
Die Umwandlung in Kleinbuchstaben lässt sich nicht rückgängig machen. Aus dem gespeicherten Wert alex@example.com geht nicht hervor, ob ursprünglich Alex@example.com eingegeben wurde. Leiten Sie die Schreibweise nicht aus dem Namen einer Person ab und überschreiben Sie Kontaktadressen nicht pauschal.
Behalten Sie den aktuellen Wert bei, solange kein Grund für eine Korrektur vorliegt. Meldet die Person ein Problem, lassen Sie sie die gewünschte Adresse über Ihren üblichen Prozess zur Änderung von Kontaktdaten angeben. Bestätigen Sie bei Bedarf die Kontrolle über das Postfach. Auch eine erfolgreiche Zustellung an die kleingeschriebene Adresse stellt die verlorene Schreibweise nicht wieder her.
Prüfen Sie vor einer neuen Vergleichsregel, welche Datensätze dadurch denselben Vergleichswert erhalten würden. Planen Sie die Auflösung dieser Konflikte, ohne Kontakthistorien oder Kontozugänge stillschweigend zusammenzuführen.
Die Abläufe testen, die die Adresse verwenden
Prüfen Sie mit erfundenen Datensätzen folgende Fälle in Ihrer Anwendung:
- Beim Ändern von
EXAMPLE.COMzuexample.combleibt der Lokalteil beim Speichern und Abrufen unverändert. Alex@example.comundalex@example.comwerden gemäß der dokumentierten Zuordnungsregel behandelt. Für einen Konflikt ist ein eindeutiger Ausgang festgelegt.- Bei
Alex.Smith+orders@example.combleiben Schreibweise, Punkt und Pluszusatz im Kontaktfeld und in der Verifizierungsanfrage erhalten. - Registrierung, Anmeldung und Wiederherstellung verwenden dieselbe Vergleichsregel. Die Wiederherstellung nutzt die gespeicherte Kontaktadresse des gefundenen Kontos.
- Eine Migration erkennt mehrfach vorkommende Vergleichswerte, bevor sie Datensätze ändert.
Diese Fälle sind für Regressionstests Ihrer Anbindung gedacht. Sie prüfen weder die Zustellung noch belegen sie, dass zwei Schreibweisen dasselbe Postfach erreichen.
Die Adresse prüfen, die Sie anschreiben möchten
Übergeben Sie der Verifizierung die Adresse mit unverändertem Lokalteil. Eine vorherige Änderung der Groß- und Kleinschreibung würde eine andere Eingabe prüfen. Bei unknown reichen die Belege für eine Entscheidung nicht aus. Die Umwandlung in Kleinbuchstaben mit anschließender erneuter Prüfung ist dafür keine allgemeine Lösung.
Eine Verifizierung stellt außerdem nicht fest, wer das Postfach kontrolliert. Senden Sie eine eigene Bestätigungsnachricht, wenn diese Kontrolle wichtig ist. Emvero versendet diese Nachricht nicht. Der Vergleich von Verifizierung und Postfachbestätigung erklärt den Unterschied.
Nutzen Sie die API zur E-Mail-Verifizierung von Ihrem Server aus, nachdem die Adresse dort mit unverändertem Lokalteil angekommen ist.