MailAddress: в заголовке письма обнаружен недопустимый символ

Я использую MailAddress для создания факса по электронной почте. Мы используем систему под названием SatisFAXtion v 8.6. Чтобы предоставить титульную страницу для отправки по факсу, я могу добавить местоположение шаблона к адресу mail.TO.

Формат выглядит так:

12125551234^template=cp\\FAXReportCover.rtf@fax.ourcompanymail.com

При компиляции все работает нормально, но мне нужны две обратные косые черты, поэтому я добавил еще два в качестве escape-символов.

Когда я запускаю программу, я получаю исключение:

Message: An invalid character was found in the mail header:
StackTrace: at System.Net.Mail.MailAddressParser.ParseLocalPart(String data, Int32& index, Boolean expectAngleBracket, Boolean expectMultipleAddresses)
   at System.Net.Mail.MailAddressParser.ParseAddress(String data, Boolean expectMultipleAddresses, Int32& index)
   at System.Net.Mail.MailAddressParser.ParseMultipleAddresses(String data)
   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)

Есть ли способ вставить обратную косую черту в адрес электронной почты в объекте MailAddress?

3 ответа

Решение

Из Википедии:

Ограничения для специальных символов заключаются в том, что они должны использоваться только в том случае, если они заключены в кавычки, и что 3 из них (пробел, обратная косая черта \ и кавычка " (ASCII: 32, 92, 34)) также должны предшествовать обратной косой черте \ (например, "\ \\"").

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

Если бы вы могли изменить адрес на что-то вроде 12125551234^template="cp\\"FAXReportCover.rtf@fax.ourcompanymail.com Я думаю, что все будет в порядке.

Несколько лет назад я нашел обходной путь по аналогичной проблеме. Проблема была в параметре DisplayName в конструкторе MailAddress.

Может быть, это вам тоже поможет

http://netpl.blogspot.com/2008/09/smtpclient-exception-invalid-character.html

Я получил эту ошибку, когда, если это было изменено на "сеть" --- тогда ошибка была решена. (Насколько я понимаю - Incase указанной опции pickupdirectory, заголовок -encoding utf-8 (base64) выдавал ошибку)

Надеюсь, поможет

Другие вопросы по тегам