2010-12-16 24 views
8

e-posta adresini "ñ" konulu başarısız "Geçersiz karakteri posta başlığında bulunmuştur. 'Ñ'":.Net MailAddress Aşağıdaki kod bir özel durum atar

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

Ben asıl adresi Buna koşarak geçerli bir adres m ancak MailAddress sınıfı denediğimde ve kullandığımda bir hata atar.

+0

Hmm ... [Ideone] (http://ideone.com/TMd9s) ürününde çoğaltılamaz. – Cameron

+1

@Cameron: Bu programda bir istisna oluşturulmuyor: Çalıştırılmaz, çalışmaz (bir çalışma zamanı istisnası atar). –

+0

@Noon: Ideone'a göre ayrıca başarılı bir şekilde çalışıyor. – Cameron

cevap

5

Evet, ilginç. Wikipedia'ya göre: Email Address, kesinlikle ASCII'nin bir alt kümesi olarak tanımlanmıştır, bu teknik olarak geçersizdir.

Yani, bu adrese sadece .NET'ten (System.Net.Mail sınıflarını kullanarak) e-posta gönderemezsiniz.

+0

Evet. [RFC 5322 bölüm 3.2.3 ve 3.2.4] (http://tools.ietf.org/html/rfc5322#section-3.2.3), sırasıyla atomlarda ve alıntı dizelerinde izin verilen karakterleri ve yasal karakter kümelerini standart hale getirir. her ikisi de US-ASCII'nin alt kümeleri olarak belirtilir. –

+0

Yakın gelecekte Unicode'a uzanacak gibi görünüyor, ancak şimdilik sadece ASCII gibi görünüyor. Teşekkürler! – Dugan

+0

Sadece not etmek gerekirse (bunun içinde başka biri varsa), .NET 4.0'dan itibaren, adreste ñ'ye izin verildiği görünür. –

İlgili konular