2009-07-29 3 views
1

Я попытался отправить по электронной почте, используя следующий код:Почему я получаю ошибку 5.5.4 Invalid Address?

MailMessage message = new MailMessage(); 

     message.From = new MailAddress(fromMailAddress.Trim()); 
     message.To.Add(new MailAddress(toMailAddress.Trim())); 

     message.Subject = subject; 
     message.Body = body; 
     message.SubjectEncoding = System.Text.Encoding.UTF8; 
     message.BodyEncoding = System.Text.Encoding.UTF8; 
     SmtpClient client = new SmtpClient(); 
     try 
     { 
      client.Send(message); 
     } 
     catch(Exception e) 
     { 
      throw e; 
     } 

Однако я получил исключение:

Реакция сервера была: 5.5.4 Неверный адрес

от электронной почты, до электронной почты, имени и порта хоста сервера. Точный же код с одинаковыми входными значениями работает на другом компьютере в нашем офисе.

ответ

1

Нашел ответ после некоторой тщательной отладки.

Оказывается, мое имя машины имеет символ «å'-символ (недействительный шведский символ)). После изменения это сработало.

1

Был выпущен KB для System.Net.Mail, который повлиял на парсинг адресов и Unicode, поэтому причина, по которой он работал на одной машине, а не на другой, скорее всего, присутствовал в этом KB. .NET 4.0 также имеет некоторые существенные улучшения в анализе адресов электронной почты.

Смежные вопросы