E-Mail-ID mit Bindestrich am Ende des lokalen Teils

19

Handelt es sich um eine gültige E-Mail, wenn die E-Mail am Ende des lokalen Teils einer E-Mail mit einem Bindestrich (-) versehen ist? Beispielsweise,

[email protected]

Oder, um es zu verallgemeinern, kann eines dieser Zeichen ( Characters !#$%&'*+-/=?^_``{|}~ (ASCII: 33, 35-39, 42, 43, 45, 47, 61, 63, 94-96, 123-126)) am Anfang und / oder Ende der E-Mail-ID im lokalen Teil der E-Mail stehen?

Google sagt, dass es ungültig ist, daher nehme ich es vorerst auch als ungültig an, obwohl RFC nur [Punkt] -Zeichen vom Beginnen und / oder Beenden des lokalen Teils ausschließt.

GMail-Fehler für den obigen Fall

Hinweis: Ich mache mir keine Sorgen um den Domänenteil, da dieser aufgrund der Art und Weise, wie DNS die Fragen und Antworten kompliziert, eine größere Rolle spielt.

https://social.technet.microsoft.com/Forums/ie/en-US/69f393aa-d555-4f8f-bb16-c636a129fc25/what-are-valid-and-invalid-email-address-characters

Jimson Kannanthara James
quelle
Gute Frage. Haben Sie sich diesen Thread mit Fragen und Antworten zum Stapelüberlauf angesehen ? Viele Informationen - viel davon veraltet zu diesem Zeitpunkt - aber immer noch guter Ausgangspunkt /
JakeGould
Guter Verweis, Google scheint diese E-Mail als ungültig zu behandeln, während Microsoft kein Problem hat.
Jimson Kannanthara James
1
Dies teilen, seitdem Sie Google aufgerufen haben: Google Mail ignoriert alle Punkte in einer E-Mail-Adresse. Wenn Ihre E-Mail also "[email protected]" lautet, erhalten Sie auch E-Mails, die an "[email protected]" gesendet werden. Pluszeichen am Ende der E-Mail-Adresse "[email protected]" werden ebenfalls ignoriert.
Mowwwalker
1
In meinem eigenen Mail-Service kann ich den Buchstaben "u" von Benutzernamen verbannen. Nur weil.
Agent_L

Antworten:

60

Handelt es sich um eine gültige E-Mail, wenn die E-Mail am Ende des lokalen Teils einer E-Mail mit einem Bindestrich (-) versehen ist? [...] Google sagt, dass es ungültig ist, daher nehme ich es vorerst auch als ungültig an, obwohl RFC nur [Punkt] -Zeichen vom Beginnen und / oder Beenden des lokalen Teils ausschließt.

Es ist gültig. Sie sehen es nur von Google abgelehnt, weil es eine völlig andere Prüfung durchführt - sie haben ihre eigenen Richtlinien, was der lokale Teil sein kann, wie viele andere Anbieter.


Google oder eine andere Person wäre nur dann verpflichtet, alle möglicherweise gültigen E-Mail-Adressen zu akzeptieren, wenn das Formular tatsächlich nach einer vorhandenen gültigen E-Mail-Adresse fragt (möglicherweise vom Anbieter). Es wäre beispielsweise ein Fehler, wenn das Feld An: / Cc: von Google Mail eine gültige Adresse zurückweisen würde.

In dem von Ihnen markierten Feld werden Sie jedoch nicht nach einer vorhandenen E-Mail-Adresse gefragt. Auf Google-Systemen wird nach einem Kontonamen gefragt , auf dessen Grundlage eine E-Mail-Adresse erst erstellt wird, nachdem das Konto erstellt wurde. Es gibt nichts, was Google oder irgendjemand anderem verbieten würde, den Satz gültiger Kontonamen (oder sogar Postfachnamen) auf seinem eigenen System einzuschränken .

Mit anderen Worten, das Definieren der zulässigen Zeichen für 'local-part' bedeutet nur, dass SMTP-Server von Mail-Anwendungen solche Adressen in RFC 822-Headern und SMTP-Befehlen akzeptieren müssen - aber es sagt nichts darüber aus , solche Mailboxen erstellen zu können . (Als die ersten E-Mail-RFCs geschrieben wurden und die meisten Postfächer noch an Konten auf Betriebssystemebene gebunden waren, hatten ihre Namen ähnliche oder sogar strengere Grenzwerte.)

In diesem Teil von RFC 5321 (Abschnitt 4.1.2, unter ABNFs) heißt es beispielsweise ausdrücklich, dass ein empfangender Host die Benennung seiner eigenen Postfächer wesentlich strenger einschränken darf und sollte :

Während die obige Definition für den lokalen Teil relativ zulässig ist, MUSS ein Host, der den Empfang von E-Mails erwartet, für eine maximale Interoperabilität vermeiden, Postfächer zu definieren, in denen der lokale Teil das Anführungszeichen-Formular erfordert (oder verwendet) oder in denen der lokale Teil der Fall ist -empfindlich.

Also, auch wenn [email protected] ist gültig syntaktisch, das allein bedeutet nicht , dass Google erlauben , müssen Sie es zu schaffen.

Grawity
quelle
6
Interessanterweise ignoriert Google Punkte in E-Mail-Adressen ( gmail.googleblog.com/2008/03/… ), die im RFC ebenfalls nicht angegeben sind. Daher wird [email protected] an dieselbe Stelle wie [email protected] oder [email protected] verschoben.
childofsoong
4
@JimsonKannantharaJames Wenn Sie im Allgemeinen überprüfen möchten, ob eine E-Mail gültig ist, sollten Sie eine E-Mail an diese Adresse senden und den Benutzer zum Handeln zwingen. Alle Überprüfungen, die nur auf der Syntax der Adresse basieren, sollten eigentlich nur darauf abzielen, den Benutzer bei Tippfehlern zu ertappen.
Michael Mior
1
@grawity Oh, ich weiß - ich habe einen Kommentar abgegeben, um ein Beispiel für eine andere Sache zu geben, die im RFC nicht angegeben, aber zulässig ist.
childofsoong
1
@ user71659 Wenn Sie Steuerzeichen bei Bedarf nicht ordnungsgemäß maskieren, besteht ein größeres Problem. Letztendlich wurde die E-Mail vom Benutzer eingegeben und Benutzereingaben sollten immer als gefährlich eingestuft werden. Angenommen, ein Feld in Ihrer Datenbank ist sicher, da einige Validierungsregeln ziemlich gefährlich sein können. Was passiert, wenn ein paar Monate später jemand anderes dieses Feld aus einem anderen Formular ausfüllt, das nicht die gleiche Validierung hat?
Michael Mior
2
@ user71659 Sie verschmelzen zwei verschiedene Probleme und verwirren das Argument. MichaelMior ist vollkommen richtig zu behaupten , dass zu überprüfen , dass eine E - Mail - Adresse vorhanden ist , Sie werden eine E - Mail an diese Adresse senden müssen , die Aktion Benutzer erfordert.
Kumarharsh
7

G Suite (ehemals Google Apps für Ihre Domain) lässt Bindestriche in E-Mail-Adressen zu, auch wenn es sich um das letzte Zeichen handelt.

Benutzernamen können Buchstaben (az), Zahlen (0-9), Bindestriche (-), Unterstriche (_), Apostrophe (') und Punkte (.) Enthalten.

Quelle: Richtlinien für Namen und Passwörter

Wie Sie bereits bemerkt haben, lässt Google Mail keine Bindestriche in E-Mail-Adressen zu.

Davidmneedham
quelle