Normalisiere E-Mail-Adressen in Massen: mache sie klein, entferne Gmail-Punkte und Plus-Tags, vereinheitliche Provider-Aliase und entferne Duplikate, die sich nur optisch unterscheiden.
Verwandle eine unübersichtliche Adressliste in jeweils eine kanonische Form. Füge eine Adresse pro Zeile ein. Das Werkzeug macht jede Adresse klein und entfernt je nach Optionen Gmail-Punkte, streift Plus-Tags, vereinheitlicht Provider-Aliase und entfernt Duplikate, die nur anders aussehen.
Details
Original
Normalisiert
Status
Was E-Mail-Normalisierung tatsächlich ändert
Das Problem
Alice.Smith+news@Gmail.com, alicesmith@googlemail.com und alicesmith@gmail.com werden alle im selben Postfach zugestellt, doch ein naiver SELECT ... WHERE email = ? behandelt sie als drei verschiedene Personen. So endest du mit doppelten Konten, drei Kopien desselben Newsletters und einer Testphase, die jemand elfmal verlängert hat.
Die Normalisierung fasst diese Varianten auf eine kanonische Zeichenfolge zusammen, die du indizieren und vergleichen kannst.
Die vier Regeln
Groß-/Kleinschreibung. Der Domain-Teil ist nach RFC 1035 groß-/kleinschreibungsunempfindlich, und obwohl der lokale Teil nach RFC 5321 technisch groß-/kleinschreibungssensitiv ist, behandelt das kein gängiger Provider so. Alles klein zu machen ist in der Praxis sicher und ist die eine Regel, die du immer anwenden solltest.
Punkte. Gmail ignoriert Punkte im lokalen Teil: a.li.ce@gmail.com entspricht alice@gmail.com. Das ist ein Gmail-spezifisches Verhalten. Auf Outlook, Yahoo oder eine Unternehmensdomain angewendet würde es tatsächlich verschiedene Personen zusammenführen, also entfernt dieses Werkzeug Punkte nur für gmail.com und googlemail.com.
Plus-Tags. Sub-Adressierung (alice+shopping@gmail.com) wird von Gmail, Outlook, Fastmail, iCloud und den meisten modernen Servern unterstützt. Yahoo verwendet einen Bindestrich statt des Plus. Das Tag ist eine Bezeichnung zum Filtern, nicht Teil der Identität, also kann es entfernt werden – aber siehe den Vorbehalt unten.
Provider-Aliase.googlemail.com ist derselbe Dienst wie gmail.com, und hotmail.com, live.com und msn.com laufen alle auf die Microsoft-Verbraucherplattform hinaus. Sie auf eine kanonische Domain abzubilden fängt eine weitere Gruppe von Duplikaten ab.
Wann man nicht normalisieren sollte
Speichere die Adresse, wie sie der Nutzer eingegeben hat, und verwende die normalisierte Form nur als Vergleichsschlüssel. Sende niemals an die normalisierte Version – du würdest ein Plus-Tag entfernen, auf das der Empfänger zum Filtern angewiesen ist, und manche legitimen unternehmensinternen Postfächer enthalten tatsächlich ein +.
Sei auch vorsichtig mit dem Entfernen von Plus-Tags in einem Missbrauchsbekämpfungskontext. Es blockiert tatsächlich die „eine Person, viele Testphasen", bestraft aber auch datenschutzbewusste Nutzer, die jeden Registrierungsvorgang markieren. Behandle es als Signal, nicht als Urteil.
Und verwende das nicht als Validierung. Eine syntaktisch perfekte Adresse kann trotzdem zurückprallen; nur eine Bestätigungs-E-Mail beweist Zustellbarkeit.
Häufig gestellte Fragen
Sollte ich die normalisierte statt der ursprünglichen Adresse speichern?
Nein. Speichere beide – die ursprüngliche zum Versenden von Mail, die normalisierte Form als eindeutigen Index für Suchen und Duplikaterkennung.
Warum werden Punkte nur bei Gmail entfernt?
Weil nur Gmail sie ignoriert. Bei Outlook, Yahoo oder einer Firmendomain können john.smith@ und johnsmith@ zwei verschiedene Mitarbeiter sein, und sie zusammenzuführen würde Mail an die falsche Person zustellen.
Unterstützt jeder Provider Plus-Tags?
Die meisten modernen tun es, aber nicht alle. Yahoo verwendet einen Bindestrich, und manche älteren oder selbst gehosteten Server lehnen ein Plus rundweg ab. Geh nie davon aus, dass eine markierte Adresse akzeptiert wird.
Ist Normalisierung eine Form der Validierung?
Nein. Sie schreibt die Zeichenfolge nur in eine kanonische Gestalt um. Ob das Postfach existiert, lässt sich nur durch das Senden einer Bestätigungsnachricht feststellen.
Werden meine Adressen irgendwo hochgeladen?
Nein. Die gesamte Liste wird im Browser mit einfachem JavaScript verarbeitet und verlässt die Seite nie.