2010-12-16 15 views
8

निम्नलिखित कोड का एक अपवाद फेंकता पर विफल रहता है "एक अमान्य वर्ण मेल हेडर में पाया गया था। 'एन'":नेट MailAddress "एन" ईमेल पते में

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

वास्तविक पते मैं मैं इसमें चल रहा हूं एक मान्य पता है, लेकिन जब भी मैं कोशिश करता हूं और इसका उपयोग करता हूं तो MailAddress क्लास एक त्रुटि फेंकता है।

+0

हम्म ... [विचार] [http://ideone.com/TMd9s) पर पुन: पेश नहीं कर सकता है। – Cameron

+1

@ कैमरेन को कोई अपवाद नहीं डाला जा रहा है: यह संकलित होगा, यह नहीं चलेगा (यह रनटाइम अपवाद फेंकता है)। –

+0

@Noon: विचार के अनुसार यह भी सफलतापूर्वक चल रहा है – Cameron

उत्तर

5

हाँ, दिलचस्प। विकिपीडिया के अनुसार: Email Address, इसे सख्ती से ASCII का सबसेट होने के रूप में परिभाषित किया गया है, इसलिए यह तकनीकी रूप से अमान्य है।

तो, ऐसा लगता है कि आप सख्ती से उस पते पर .NET से ईमेल नहीं भेज सकते हैं (System.Net.Mail कक्षाओं का उपयोग करके, वैसे भी)।

+0

हां। [आरएफसी 5322 खंड 3.2.3 और 3.2.4] (http://tools.ietf.org/html/rfc5322#section-3.2.3) क्रमशः परमाणुओं और उद्धृत तारों में स्वीकार्य पात्रों को मानकीकृत करते हैं, और कानूनी चरित्र सेट के लिए सेट दोनों को यूएस-एएससीआईआई के सबसेट के रूप में निर्दिष्ट किया गया है। –

+0

ऐसा लगता है कि निकट भविष्य में यह यूनिकोड तक बढ़ेगा, लेकिन अभी के लिए, बस ASCII लगता है। धन्यवाद! – Dugan

+0

बस ध्यान दें (अगर किसी और को इस पर ठोकरें), .NET 4.0 के रूप में, ऐसा लगता है कि पते में अनुमति है। –

संबंधित मुद्दे