Я ищу рекомендации для компонентов ActiveX для обработки электронной почты - PullRequest
1 голос
/ 24 октября 2008

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

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

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

Ответы [ 2 ]

2 голосов
/ 24 октября 2008

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

1 голос
/ 08 января 2009

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

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

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

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

....
Content-Type: application/octet-stream<br> Content-Transfer-Encoding: base64</p> <p><a href="http://virus.virussite.com" rel="nofollow noreferrer">http://virus.virussite.com</a><br> JVBERi0xLjMgCiXi48/TIAo3IDAgb2JqCjw8Ci9Db250ZW50cyBbIDggMCBSIF0gCi9QYXJlbnQg NSAwIFIKL1Jlc291cmNlcyA2IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNiAwIG9iago8PAov
...

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

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

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

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

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

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

...