it-swarm.com.de

Sind bei E-Mail-Adressen Groß- und Kleinschreibung zu beachten?

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 [email protected], [email protected] Und [email protected] Zu senden ist jeweils angekommen.

Wie gehen Mailserver mit Benutzernamen um? Ist es möglich, mit dem Fall zu verpassen und diese Nachricht würde nicht zugestellt werden? Ist es wirklich sehr wichtig, genau die Groß- und Kleinschreibung zu verwenden, die bei der Registrierung bei der Angabe Ihrer E-Mail-Adresse angegeben wurde?

264
Stalker

In RFC 5321, Abschnitt 2.3.11:

Die Standard-Namenskonvention für Postfächer lautet "local-part @ domain". Die heutige Verwendung erlaubt ein viel breiteres Spektrum von Anwendungen als einfache "Benutzernamen". Infolgedessen und aufgrund einer langen Vorgeschichte von Problemen, bei denen zwischengeschaltete Hosts versucht haben, den Transport durch Ändern zu optimieren, MUSS der lokale Teil nur von dem Host interpretiert und semantisch zugewiesen werden, der im Domänenteil der Adresse angegeben ist.

Ja, der Teil vor dem "@" kann zwischen Groß- und Kleinschreibung unterscheiden, da er vollständig vom Host-System gesteuert wird. In der Praxis unterscheidet jedoch kein weit verbreitetes Mailsystem unterschiedliche Adressen nach dem jeweiligen Fall.

Der Teil nach dem @ -Zeichen ist jedoch die Domäne und gemäß RFC 1035, Abschnitt 3.1,

"Nameserver und Resolver müssen [Domains] unabhängig von Groß- und Kleinschreibung vergleichen"

Kurz gesagt, Sie können E-Mail-Adressen ohne Berücksichtigung der Groß- und Kleinschreibung behandeln.

324
Mike E

Ich weiß, dass dies eine alte Frage ist, aber ich möchte hier nur einen Kommentar abgeben: In jedem Fall sind E-Mail-Adressen von der Groß- und Kleinschreibung abhängig, und die meisten Benutzer würden "sehr unklug" sein, aktiv eine E-Mail-Adresse zu verwenden, die Großbuchstaben erfordert. Sie würden bald aufhören, die Adresse zu 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 Post nur von bestimmten Absendern, die sie kennen.)

Dies liegt daran, dass unvollkommene Menschen sowie unvollkommene Software existieren (Überraschung!), Die davon ausgeht, dass alle E-Mails in Kleinbuchstaben geschrieben sind. Aus diesem Grund senden diese Menschen und Software Nachrichten mit einer "Version in Kleinbuchstaben" der Adresse, unabhängig davon, wie sie bereitgestellt wurde zu ihnen. Wenn der Empfänger solche Nachrichten nicht empfangen kann, wird es nicht lange dauern, bis er feststellt, dass viele Nachrichten fehlen, und er wechselt zu einer E-Mail-Adresse, die nur Kleinbuchstaben enthält, oder er richtet den Server so ein, dass die Groß- und Kleinschreibung nicht berücksichtigt wird.

38
PaulOTron2000

Viel zu spät zu diesem Beitrag, aber ich habe etwas anderes zu sagen ...

>> "Are email addresses case sensitive?"

Nun, "Es kommt darauf an ..." (TM)

Einige Organisationen halten das für eine gute Idee, und ihre E-Mail-Server erzwingen die Berücksichtigung der Groß- und Kleinschreibung.

Also, für diese verrückten Orte, "Ja, E-Mails sind case sensitive."

Hinweis: Nur weil eine Spezifikation besagt, dass Sie etwas tun können, bedeutet dies nicht, dass dies eine gute Idee ist.

Das Prinzip von KISS legt nahe, dass our Systeme E-Mails verwenden, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird.

Während das Robustness-Prinzip nahe legt, dass wir E-Mails akzeptieren, bei denen zwischen Groß- und Kleinschreibung unterschieden wird.

Lösung:

  • Speichern Sie E-Mails mit Groß- und Kleinschreibung
  • E-Mails mit Groß- und Kleinschreibung senden
  • Führen Sie interne Suchvorgänge ohne Berücksichtigung der Groß- und Kleinschreibung durch

Dies würde bedeuten, dass wenn diese E-Mail bereits existiert: [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 die Fehlermeldung "Diese E-Mail existiert bereits" zurückgibt.

Nun haben Sie eine Entscheidung zu treffen: Ist diese Lösung in Ihrem Fall angemessen?

Andernfalls können Sie Kunden, die Unterstützung für ihre E-Mails mit Groß- und Kleinschreibung benötigen und eine benutzerdefinierte Logik implementieren, mit der [email protected] in Ihr System integriert wird, auch wenn [email protected] bereits vorhanden ist, eine Zusatzgebühr in Rechnung stellen.

In diesem Fall könnte Ihre E-Mail-Such-/Überprüfungslogik folgendermaßen aussehen:

if (user.paidEmailFee) {
   // case sensitive email
   query = "select * from users where email LIKE ' + user.email + '"
} else {
   // case insensitive email
   query = "select * from users where email ILIKE ' + user.email + '"
}

Auf diese Weise erzwingen Sie meistens die Unterscheidung zwischen Groß- und Kleinschreibung, lassen jedoch zu, dass Kunden für diesen Support bezahlen, wenn sie E-Mail-Systeme verwenden, die solchen Unsinn unterstützen.

p.s. ILIKE ist ein PostgreSQL-Schlüsselwort: http://www.postgresql.org/docs/9.2/static/functions-matching.html

26
l3x

RFC 5321 2.4. Allgemeine Syntaxprinzipien und Transaktionsmodell

SMTP-Implementierungen MÜSSEN darauf achten, dass der Fall von lokalen Teilen der Mailbox erhalten bleibt. Insbesondere unterscheidet sich bei einigen Hosts der Benutzer "smith" vom Benutzer "Smith".

Postfachdomänen folgen den normalen DNS-Regeln und unterscheiden daher nicht zwischen Groß- und Kleinschreibung

9
Adam111p

Per @ l3x kommt es darauf an.

Es gibt zwei allgemeine Situationen, in denen die richtige Antwort unterschiedlich sein kann, und eine dritte, die nicht so allgemein ist:

a) Sie sind ein Benutzer, der private Mails verschickt :

Nur sehr wenige moderne E-Mail-Systeme berücksichtigen die Groß- und Kleinschreibung, sodass Sie wahrscheinlich in der Lage sind, die Groß- und Kleinschreibung zu ignorieren und auszuwählen, welche Groß- und Kleinschreibung Sie verwenden möchten. Es gibt keine Garantie, dass alle Ihre Mails zugestellt werden - aber so wenige Mails wären negativ betroffen, dass Sie sich keine Sorgen machen sollten darüber machen.

b) Sie entwickeln Mail-Software :

Siehe RFC5321 2.4 unten.

Wenn Sie Mail-Software entwickeln, möchten Sie , dass RFC-kompatibel ist. Sie können die Groß- und Kleinschreibung der E-Mail-Adressen Ihrer eigenen Benutzer unberücksichtigt lassen, wenn Sie dies möchten (und Sie sollten es wahrscheinlich tun). Um jedoch RFC-konform zu sein, MUSS die Groß- und Kleinschreibung von externen Adressen beachten.

c) Verwalten von Listen mit geschäftlichen E-Mail-Adressen als Mitarbeiter :

Es ist möglich, dass derselbe E-Mail-Empfänger mehr als einmal zu einer Liste hinzugefügt wird - jedoch in einer anderen Groß-/Kleinschreibung. In dieser Situation kann es sein, dass ein Empfänger doppelte E-Mails erhält, obwohl die Adressen technisch unterschiedlich sind. Wie Sie mit dieser Situation umgehen, ähnelt der Situation a) dahingehend, dass Sie wahrscheinlich in Ordnung sind, sie als Duplikate zu behandeln und einen doppelten Eintrag zu entfernen. Es ist jedoch besser, diese als Sonderfälle zu behandeln, indem Sie an beide Adressen eine "Erinnerungsmail" senden, in der Sie gefragt werden, ob es sich um Duplikate handelt und wenn ja, welche E-Mail-Adresse der Empfänger bevorzugen würde.

Wenn Sie aus rechtlicher Sicht ein Duplikat ohne Bestätigung/Erlaubnis von beiden Adressen entfernen, können Sie dafür verantwortlich gemacht werden für die Weitergabe privater Informationen/Authentifizierung an eine nicht autorisierte Adresse , einfach weil zwei tatsächlich getrennte Empfänger die gleiche Adresse in verschiedenen Fällen haben =.

Auszug aus RFC5321 2.4:

Der lokale Teil einer Mailbox MUSS als case sensitive behandelt werden. Daher MÜSSEN SMTP-Implementierungen darauf achten, dass der Fall von lokalen Teilen der Mailbox erhalten bleibt. Insbesondere unterscheidet sich bei einigen Hosts der Benutzer "smith" vom Benutzer "Smith". Das Ausnutzen der Groß- und Kleinschreibung lokaler Mailbox-Teile beeinträchtigt jedoch die Interoperabilität und wird davon abgeraten.

1
zaTricky