Как использовать адреса электронной почты со специальными символами, такими как Ø - PullRequest
3 голосов
/ 09 июня 2010

Написав это:

var recipient = new MailAddress("name@abcø.dk");

Обратите внимание на «ø» в доменной части.

Я получаю исключение:

System.FormatException: указанная строка не в форме, требуемой для адреса электронной почты. в System.Net.Mime.MailBnfHelper.ReadMailAddress (строковые данные, Int32 и смещение, строковое & displayName) в System.Net.Mail.MailAddress.ParseValue (строковый адрес) в System.Net.Mail.MailAddress..ctor (строковый адрес, строковое displayName, кодировка displayNameEncoding) at System.Net.Mail.MailAddress..ctor (String address)

Используемый адрес должен быть совершенно действительным.

Значит, мне нужно как-то кодировать адрес?

Ответы [ 3 ]

6 голосов
/ 09 июня 2010

RFC-822 гласит, что каждая часть этого домена должна состоять исключительно из символов ASCII, за исключением пробелов и управляющих символов. Ваш электронный адрес недействителен в соответствии с этим стандартом.

Для интернационализированного доменного имени это означает, что вы получите адрес электронной почты, совместимый с RFC-822, только с помощью формы ASCII этого доменного имени.

3 голосов
/ 09 июня 2010

Возможно, вам нужно использовать закодированный вариант имени хоста.См. здесь , Пример кодирования IDNA

0 голосов
/ 09 июня 2010

RFC 1034 описывает доменные имена

Метки должны соответствовать правилам для имен хостов ARPANET. Они должны начинаться с буквы, заканчиваться буквой или цифрой и иметь в качестве внутреннего символы только буквы, цифры и дефис. Есть также некоторые ограничения по длине. Метки должны содержать не более 63 символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...