2014-11-04 2 views
0

Я работаю с приложением .NET 4.0, которое использует класс System.Web.Mail.SmtpMail для отправки писем, которые мы создаем, с указанием BodyFormat MailFormat.Html..NET SmtpMail по сравнению с .NET SmtpClient

Проблема с этим подходом заключается в том, что при генерации электронной почты (с использованием MailFormat.Html) протокол, по-видимому, допускает 76 символов в строке. При превышении этого предела остальная часть линии, кажется, обрезается, и на ее месте появляется восклицательный знак.

Это проблематично для нас и делает код чрезвычайно сложным для улучшения и рефакторинга. Я заметил, что Visual Studio жалуется, что класс SmtpMail устарел, и что рекомендуемым вариантом является класс System.Net.Mail.SmtpClient. Мне было интересно, будут ли изменения в использовании нового класса предлагать какие-либо улучшения, особенно в количестве символов, которые могут существовать в любой отдельной строке, или, возможно, это проблема с протоколом SMTP, который невозможно преодолеть.

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

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

Спасибо

+0

Из MSDN о 'System.Web.Mail' имен:' Классы в этом пространстве имен устарели. Используйте пространство имен System.Net.Mail вместо ' – jgauffin

+0

Как это дубликат? Мой вопрос содержит конкретный запрос, касающийся лимита символов в API, другие предполагаемые дубликаты вопросов не отвечают на этот запрос. –

+0

Также один из предполагаемых дублирующих вопросов сам по себе обозначается как дубликат одного из других вопросов, на которые ссылаются. –

ответ

1

Я могу вам сказать по опыту, что нет никакого символа ограничительной линии при помощи System.Net.Mail. Рекомендуется для использования, System.Web.Mail устарел. Путь вперед ясен.

Что касается конкретных отличий API, то System.Web.Mail основан на COM, а System.Net.Mail находится в полностью управляемом коде. Если вы хотите увидеть разные имена функций/свойств, то документация MSDN доступна вам.

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

  • Нет связанных вопросов^_^