2008-10-24 3 views
1

Я ищу компоненты ActiveX, которые могут легко:Я ищу для ActiveX Рекомендации компонентов для обработки сообщений электронной почты

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

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

ответ

2

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

1

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

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

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

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

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

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

...

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

Но у меня были большие проблемы со сломанными B64 и B64, которые запускали все на одной строке и т. Д., И его пришлось декодировать, поэтому я взял все в блоке данных как данные Base64, что на самом деле действительно base64 char. Все остальное просто пропущено ...

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

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

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

Сообщите мне, если я могу быть более полезным.