2010-12-16 3 views
8

이메일 주소를 "N"실패 "잘못된 문자가 메일 헤더에서 발견되었다. 'N'"닷넷 MailAddress 다음 코드의 예외가 발생

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

나 '의 실제 주소를 이 주소로 실행 m 유효한 주소이지만 시도 할 때마다 MailAddress 클래스 오류가 throw됩니다.

+0

흠 ... [Ideone] (http://ideone.com/TMd9s)에서 재현 할 수 없습니다. 아무 예외도 던져지지 않습니다. – Cameron

+1

@Cameron : 컴파일됩니다. 실행되지 않습니다 (런타임 예외가 발생 함). –

+0

@ Noon : Ideone에 따르면 성공적으로 실행 중입니다. – Cameron

답변

5

예, 흥미 롭습니다. Wikipedia에 따르면 : Email Address에 따르면, 이것은 ASCII의 하위 집합으로 엄격하게 정의되어 있으므로 기술적으로 유효하지 않습니다.

따라서 .NET에서 System.Net.Mail 클래스를 사용하여 해당 주소로 전자 메일을 보낼 수없는 것 같습니다.

+0

예. [RFC 5322 섹션 3.2.3 및 3.2.4] (http://tools.ietf.org/html/rfc5322#section-3.2.3)에서는 각각 원자 및 인용 문자열에서 허용되는 문자를 표준화하고 둘 다 US-ASCII의 서브 세트로 지정됩니다. –

+0

가까운 장래에 유니 코드까지 확장 될 것으로 보이지만, 지금은 단지 ASCII 인 것처럼 보입니다. 감사! – Dugan

+0

.NET 4.0 에서처럼 다른 사람이이 문제를 겪고있는 경우에 대비하여 주소에 ñ가 허용됩니다. –

관련 문제