2015-05-21 7 views
0

При создании объекта System.Net.Mail.MailMessage возникает следующая ошибка.Формат адреса электронной почты: указанная строка не в форме, необходимой для адреса электронной почты

Dim Message As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage(mailfrom, mailto) 

Почтовый адрес указан в форме - a.b.c.d. @ abcd.com. Это недопустимый формат?

  1. Может ли электронное письмо содержать не более одного периода (.) В его местной части?
  2. Может ли локальная часть электронной почты заканчиваться периодом (.)?

спасибо.

Обновление: Приложение, предлагающее ошибку, предназначено для таргетинга на .net 3.5. Когда я попытался воспроизвести ошибку на другом решении, я обнаружил, что конечный период в локальной части a.b.c.d. @ abcd.com является ограничением в .net 3.5 framework, но отлично работает в .net 4.0 и выше. Благодарю.

+0

Вы уверены, что это «на» адрес, который вызывает проблемы? –

+1

'new MailMessage (« [email protected] »,« [email protected] »)' не вызывает для меня исключения, поэтому я не могу воспроизвести это. Если бы вы могли опубликовать полный текст, это действительно помогло бы. –

+0

@JonSkeet извините, я отредактировал вопрос. Адрес отправителя находится в файле a.b.c.d. @ abcd.com. – vabii

ответ

0

[email protected] является допустимым форматом. Однако в соответствии с этим:

Я переключился с System.Web.Mail на System.Net.Mail, однако теперь я пересматриваю этот шаг, потому что, если я отправлю электронное письмо на адрес электронной почты в форме [email protected] .com, я получаю сообщение об ошибке «Указанная строка не в форме, необходимой для адреса электронной почты». Я провел дальнейшее тестирование, и, очевидно, класс SendStyleClient класса не нравится период "." между «john» и «doe». Если я проведу тест с адресом электронной почты в форме [email protected] ... все будет хорошо.

Источник: http://weblogs.asp.net/scottgu/432854

+0

Я отредактировал вопрос в правильном формате mailTo – vabii

+1

Это было в 2005 году - я не уверен, что верю, что он даже вернулся к ранней версии, но это определенно не является ограничением. Конечно, конечный '.' вполне может быть. –