Отправка писем получателям с международными символами - PullRequest
1 голос
/ 10 декабря 2010

Мне нужно отправить электронное письмо получателю с международными символами в адресе электронной почты. Примером электронного письма будет:

GaÙl@asterixthe.com

Я провел довольно много поиска, но информация, которую я нахожу, предназначена для тела, а не для получателя. Нужно ли мне как-то кодировать это, и если да, то как?

Код, который я получил ниже:

 MailMessage mailMessage = 
    new MailMessage(email.SenderEmailAddress, email.RecipientEmailAddress, "Why hello there!", emailMessage)
    {
        IsBodyHtml = true,
        BodyEncoding = new System.Text.UTF8Encoding()
    };


 SmtpClient smtpClient = new SmtpClient("localhost")
 {
    Port = 25,
 };
 smtpClient.Send(mailMessage);

Спасибо

Simon

Редактировать: вот исключение

System.FormatException: The specified string is not in the form required for an
e-mail address.
   at System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset,
String& displayName)
   at System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset)
   at System.Net.Mail.MailAddressCollection.ParseValue(String addresses)
   at System.Net.Mail.MailAddressCollection.Add(String addresses)
   at System.Net.Mail.Message..ctor(String from, String to)
   at System.Net.Mail.MailMessage..ctor(String from, String to)
   at System.Net.Mail.MailMessage..ctor(String from, String to, String subject,
String body)

1 Ответ

0 голосов
/ 10 декабря 2010

Хорошо,

Читая документацию по классу MailMessage в .Net Framework, я обнаружил, что один из конструкторов класса получает объект MailAddress.

Согласно MSDN (http://msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx), свойство DisplayName может содержать не-ASCII-символы, я думаю, что если они укажут это явно, потому что Имя не может иметь их.

Вы пробовали предложение в другом потоке, в котором говорилось, что вы можете использовать "punycode"?

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