Ich habe gelesen, dass der erste Teil der E-Mail standardmäßig zwischen Groß- und Kleinschreibung unterscheidet. Ich habe jedoch versucht, eine E-Mail an zu senden [email protected]
, [email protected]
und [email protected]
- es ist jeweils angekommen.
Wie gehen Mailserver mit Benutzernamen um? Ist es möglich, mit Fall zu verpassen und diese Nachricht würde nicht zugestellt werden? Ist es wirklich sehr wichtig, genau die gleiche Groß- und Kleinschreibung zu verwenden, die bei der Registrierung bei der Angabe Ihrer E-Mail-Adresse geschrieben wurde?
Antworten:
Aus RFC 5321, Abschnitt 2.3.11 :
Ja, der Teil vor dem "@" kann zwischen Groß- und Kleinschreibung unterscheiden, da er vollständig vom Host-System gesteuert wird. In der Praxis unterscheiden jedoch keine weit verbreiteten Mail-Systeme unterschiedliche Adressen je nach Fall.
Der Teil nach dem @ -Zeichen ist jedoch die Domäne und gemäß RFC 1035 , Abschnitt 3.1,
Kurz gesagt, Sie können E-Mail-Adressen sicher ohne Berücksichtigung der Groß- und Kleinschreibung behandeln.
quelle
Ich weiß, dass dies eine alte Frage ist, aber ich möchte hier nur einen Kommentar abgeben: In jedem Fall wird bei E-Mail-Adressen zwischen Groß- und Kleinschreibung unterschieden. Die meisten Benutzer wären "sehr unklug", eine E-Mail-Adresse aktiv zu verwenden, für die Großbuchstaben erforderlich sind. Sie würden die Adresse bald nicht mehr verwenden, weil ihnen ein Großteil ihrer Post fehlen würde. (Es sei denn, sie haben einen bestimmten Grund, die Dinge zu erschweren, und sie erwarten E-Mails nur von bestimmten Absendern, die sie kennen.)
Dies liegt daran, dass sowohl unvollkommene Menschen als auch unvollkommene Software existieren (Überraschung!), Bei der davon ausgegangen wird, dass alle E-Mails in Kleinbuchstaben geschrieben sind. Aus diesem Grund senden diese Menschen und Software Nachrichten mit einer "Kleinbuchstabenversion" der Adresse, unabhängig davon, wie sie bereitgestellt wurde zu ihnen. Wenn der Empfänger solche Nachrichten nicht empfangen kann, dauert es nicht lange, bis er feststellt, dass viel fehlt, und zu einer E-Mail-Adresse wechselt, die nur in Kleinbuchstaben geschrieben ist, oder wenn der Server so eingerichtet wird, dass die Groß- und Kleinschreibung nicht berücksichtigt wird.
quelle
Viel zu spät zu diesem Beitrag, aber ich habe etwas anderes zu sagen ...
Nun, "Es kommt darauf an ..." (TM)
Einige Unternehmen halten dies für eine gute Idee, und ihre E-Mail-Server erzwingen die Groß- und Kleinschreibung.
Für diese verrückten Orte gilt: "Ja, bei E-Mails wird zwischen Groß- und Kleinschreibung unterschieden."
Das Prinzip von KISS legt nahe, dass unsere Systeme E-Mails verwenden, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird.
Das Robustheitsprinzip legt nahe, dass wir E-Mails mit Groß- und Kleinschreibung akzeptieren.
Lösung:
Dies würde bedeuten, dass, wenn diese E-Mail bereits vorhanden ist: [email protected]
... und ein anderer Benutzer kommt vorbei und möchte diese E-Mail verwenden: [email protected]
... dass unsere Suchlogik ohne Berücksichtigung der Groß- und Kleinschreibung eine Fehlermeldung "Diese E-Mail existiert bereits" zurückgibt.
Jetzt müssen Sie eine Entscheidung treffen: Ist diese Lösung in Ihrem Fall angemessen?
Wenn nicht, können Sie Kunden, die Unterstützung für ihre E-Mails mit Groß- und Kleinschreibung benötigen, eine Zusatzgebühr in Rechnung stellen und eine benutzerdefinierte Logik implementieren, die [email protected] in Ihr System ermöglicht, selbst wenn [email protected] bereits vorhanden ist.
In diesem Fall sieht Ihre E-Mail-Such- / Validierungslogik möglicherweise wie dieser Pseudocode aus:
Auf diese Weise erzwingen Sie meistens die Unempfindlichkeit gegenüber Groß- und Kleinschreibung, erlauben Kunden jedoch, für diesen Support zu bezahlen, wenn sie E-Mail-Systeme verwenden, die solchen Unsinn unterstützen.
ps ILIKE ist ein PostgreSQL-Schlüsselwort: http://www.postgresql.org/docs/9.2/static/functions-matching.html
quelle
%
oder wahrscheinlicher vor_
query = ...
Zeilen durch ersetzt werden Einfachequery = // Insert case-sensitive/insensitive search here
Kommentare halten die Konversation vom Thema SQL-Injection fern und konzentrieren sich auf das, was Sie zeigen möchten. Mit anderen Worten, behalten Sie die Logik bei, nicht die Implementierung. Es wird die Kritiker zum Schweigen bringen.IETF Open Standards RFC 5321 2.4. Allgemeine Syntaxprinzipien und Transaktionsmodell
quelle
Per @ l3x kommt es darauf an.
Es gibt eindeutig zwei Arten von allgemeinen Situationen, in denen die richtige Antwort unterschiedlich sein kann, zusammen mit einer dritten, die nicht so allgemein ist:
a) Sie sind ein Benutzer, der private Mails sendet :
Nur sehr wenige modernen E - Mail - Systeme implementieren Groß- und Kleinschreibung, so dass Sie wahrscheinlich feinen Fall zu ignorieren und wählen , was Fall fühlen Sie sich wie verwenden. Es gibt keine Garantie dafür, dass alle Ihre Mails zugestellt werden - aber so wenige Mails würden negativ beeinflusst, dass Sie sich darüber keine Sorgen machen sollten .
b) Sie entwickeln Mail-Software :
Siehe RFC5321 2.4 unten.
Wenn Sie Mail-Software entwickeln, möchten Sie RFC-konform sein. Sie können die E-Mail-Adressen Ihrer eigenen Benutzer unabhängig von Groß- und Kleinschreibung machen, wenn Sie möchten (und Sie sollten es wahrscheinlich tun). Um jedoch RFC-konform zu sein, MÜSSEN Sie externe Adressen als Groß- und Kleinschreibung behandeln .
c) Verwalten von firmeneigenen Listen von E-Mail-Adressen als Mitarbeiter :
Es ist möglich, dass derselbe E-Mail-Empfänger mehrmals zu einer Liste hinzugefügt wird - jedoch in einem anderen Fall. In dieser Situation kann es vorkommen, dass ein Empfänger doppelte E-Mails erhält, obwohl die Adressen technisch unterschiedlich sind. Die Behandlung dieser Situation ähnelt der Situation a), da es wahrscheinlich in Ordnung ist, sie als Duplikate zu behandeln und einen doppelten Eintrag zu entfernen. Es ist jedoch besser, diese als Sonderfälle zu behandeln, indem Sie eine "Erinnerungs" -E-Mail an beide Adressen senden, um sie zu fragen, ob sie Duplikate voneinander sind und wenn ja, welche E-Mail-Adresse der Empfänger von Ihnen bevorzugen würde.
Aus rechtlicher Sicht, wenn Sie ein Duplikat ohne Quittierung / Erlaubnis von beiden Adressen entfernen, können Sie werden verantwortlich gemacht für undichte private Informationen / Authentifizierung zu einer nicht erlaubten Adresse , nur weil zwei tatsächlich Scheid Empfänger hat die gleiche Adresse mit unterschiedlichen Fällen .
Auszug aus RFC5321 2.4:
quelle