Я ищу рекомендации по компонентам ActiveX для обработки электронной почты.

StackOverflow https://stackoverflow.com/questions/233259

Вопрос

Я ищу компоненты ActiveX, которые могут легко:

  • получать и отправлять электронную почту через SMTP и POP3
  • удалите и сохраните вложения.
  • Конвертировать RTF (электронные письма Outlook) в HTML
  • Обеззараживание HTML.

Какие компоненты вы бы порекомендовали?Какие компоненты вы используете?

Это было полезно?

Решение

С CDOSYS отправлять и получать электронную почту стало проще.И RTF на самом деле не такой уж и сложный формат.Но я думаю, что компонент Chilkat SMTP/POP# ActiveX — это то, на что вам стоит обратить внимание.

Другие советы

seanyboy, я могу вам помочь, но прежде чем вы посмотрите на коммерческие решения, вам нужно понять пару вещей.

Во-первых, существуют сотни или тысячи элементов управления, позволяющих делать то, что вы хотите.

Но вам нужно подумать, КАК вы собираетесь их использовать.Раньше я работал в антивирусной компании, и когда мы решили подключить наш продукт к Exchange, стало очевидно, что выбранное нами решение НЕ будет работать.Проблема заключалась в том, что коммерческие приложения следуют RFC (обычно) до буквы T.(Или это ТЭЭ?Не знаю...) Но вирусы НИКОГДА не соответствуют стандартам RFC.Итак, я написал свой собственный парсер Mime для нашего сканера, и мой уровень обнаружения был НАМНОГО лучше, чем у всего остального, что мы пробовали.Почему?Потому что каждый раз, когда я обнаруживал электронное письмо, нарушающее RFC, я корректировал код, чтобы справиться с этим.Единственным примером, который приходит на ум, был «Content-Type:основной тип/подтип;параметр =".Обратите внимание на пробел после параметра и равенства.Это нарушает правила RFC, но большинство читателей почты с этим справляются, позволяя вирусу делать свое дело.

Но это тоже двусторонняя монета....В МОЕМ коде мне не удалось декодировать вложение, отформатированное следующим образом:

....
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64

http://virus.virussite.com
JVBERi0xLjMgCiXi48/TIAo3IDAgb2JqCjw8Ci9Db250ZW50cyBbIDggMCBSIF0gCi9QYXJlbnQg NSAwIFIKL1Jlc291cmNlcyA2IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNiAwIG9iago8PAov

...

Но у коммерческих приложений не было проблем с его анализом...Скорее всего, потому, что они снова следовали RFC и не принимали данные Base64, если их длина не составляла ровно 77 символов (я думаю, 77 - это стандарт RFC..Я должен был бы сослаться на это.).

Но у меня были более серьезные проблемы с неработающим B64, B64, который работал в одной строке и т. д., и его нужно было декодировать, поэтому я взял все в блоке данных как данные Base64, которые на самом деле были допустимым символом Base64.Все остальное было просто пропущено...

В любом случае, их ключевой момент: решить, что вам НУЖНО из-под этого контроля, а затем решить, хотите ли вы написать свой собственный, купить коммерческую версию или даже заплатить кому-то (например, мне) за то, чтобы он написал ее для вас.

(Я не совсем уверен, что мое последнее предложение приемлемо по правилам Stack Overflow, поэтому я не прошу вас, просто сообщу, что вы знаете свои варианты.Я упоминаю этот вариант, потому что у вас будет доступ к исходному коду и вы сможете поддерживать его самостоятельно или найти кого-то другого, кто будет его поддерживать, если вы решите разорвать отношения со своим разработчиком.Это не вариант для 99,99% коммерческих решений...) Если они вносят изменения, которые портят вас или ваше приложение, значит, вы облажались..:)

Надеюсь, это поможет или, по крайней мере, даст вам что-нибудь почитать.хех..

Дайте мне знать, если я могу быть чем-то еще полезен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top