2010-12-16 3 views
8

Der folgende Code eine Ausnahme von Würfen "wurde ein ungültiges Zeichen im Mail-Header gefunden. 'Ñ'":.Net Mailaddress nicht auf "ñ" in E-Mail-Adresse

string email = "ñ@c.com"; 
MailAddress to = new MailAddress(email); 

die tatsächliche Adresse I‘ m, das in das läuft, ist eine gültige Adresse, aber die MailAddress Klasse wirft einen Fehler, wann immer ich es versuche und es verwende.

+0

Hmm ... kann nicht auf [Idone] reproduzieren (http://ideone.com/TMd9s). Es wird keine Ausnahme ausgelöst – Cameron

+1

@Cameron: Es wird kompiliert, es wird nicht ausgeführt (es wird eine Laufzeitausnahme ausgelöst). –

+0

@Noon: Laut Ideone läuft es auch erfolgreich – Cameron

Antwort

5

Ja, interessant. Laut Wikipedia: Email Address, ist es streng definiert als eine Teilmenge von ASCII, so dass es technisch ungültig ist.

So, es scheint, Sie können nur strengstens keine E-Mail an diese Adresse von .NET senden (mit den System.Net.Mail-Klassen sowieso).

+0

Ja. [RFC 5322, Abschnitte 3.2.3 und 3.2.4] (http://tools.ietf.org/html/rfc5322#section-3.2.3) standardisieren die zulässigen Zeichen in Atomen bzw. in Anführungszeichen und die zulässigen Zeichensätze für Beide werden als Teilmengen von US-ASCII angegeben. –

+0

Es sieht so aus, als ob es in naher Zukunft auf Unicode erweitert wird, aber im Moment scheint es nur ASCII zu sein. Vielen Dank! – Dugan

+0

Nur zur Kenntnisnahme (falls jemand anderes darüber stolpert), ab .NET 4.0 scheint es, dass ñ in der Adresse erlaubt ist. –

Verwandte Themen