Ziemlich spät für diesen Beitrag, aber ich habe etwas leicht Anderes zu sagen...
>> "Sind E-Mail-Adressen Groß-/Kleinschreibungssensitiv?"
Nun, "Es kommt darauf an..." (TM)
Einige Organisationen denken tatsächlich, dass das eine gute Idee ist, und ihre E-Mail-Server setzen die Groß-/Kleinschreibungssensitivität durch.
Also, für diese verrückten Orte, "Ja, E-Mails sind Groß-/Kleinschreibungssensitiv."
Hinweis: Nur weil eine Spezifikation sagt, dass man etwas tun kann, bedeutet das nicht, dass es eine gute Idee ist.
Das Prinzip von KISS legt nahe, dass unsere Systeme E-Mails ohne Groß-/Kleinschreibungssensitivität verwenden.
Während das Robustheitsprinzip vorschlägt, dass wir Groß-/Kleinschreibungssensitive E-Mails akzeptieren.
Lösung:
- Speichere E-Mails mit Groß-/Kleinschreibungssensitivität
- Senden Sie E-Mails mit Groß-/Kleinschreibungssensitivität
- Führen Sie interne Suchvorgänge mit Groß-/Kleinschreibungssensitivität durch
Dies würde bedeuten, dass wenn diese E-Mail bereits existiert: user@x.com
... und ein anderer Benutzer kommt und diese E-Mail verwenden möchte: USER@x.com
... dass unsere Groß-/Kleinschreibungssensitive Suchlogik eine Fehlermeldung "Diese E-Mail existiert bereits" zurückgeben würde.
Nun haben Sie eine Entscheidung zu treffen: Ist diese Lösung in Ihrem Fall ausreichend?
Wenn nicht, könnten Sie eine Komfortgebühr für die Kunden verlangen, die Unterstützung für ihre Groß-/Kleinschreibungssensitiven E-Mails verlangen und eine benutzerdefinierte Logik implementieren, die es ermöglicht, dass USER@x.com in Ihr System gelangt, selbst wenn user@x.com bereits existiert.
In diesem Fall könnte Ihre E-Mail-Such-/Validierungslogik wie folgt aussehen:
if (benutzer.paidEmailFee) {
// Groß-/Kleinschreibungsempfindliche E-Mail
Abfrage = "select * from benutzer where email LIKE ?"
} else {
// Groß-/Kleinschreibungsempfindliche E-Mail
Abfrage = "select * from benutzer where email ILIKE ?"
}
So erzwingen Sie größtenteils die Groß-/Kleinschreibungsunempfindlichkeit, ermöglichen es den Kunden jedoch, für diese Unterstützung zu zahlen, 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
0 Stimmen
Verwandte Frage - stackoverflow.com/questions/9013726/…
0 Stimmen
Auch interessant: Programmierung rund um die Groß-/Kleinschreibung von E-Mail-Adressen