Ищу рекомендации по компонентам ActiveX для обработки писем

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

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

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


person seanyboy    schedule 24.10.2008    source источник


Ответы (2)


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

person Thedric Walker    schedule 24.10.2008

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

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

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

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

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

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

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

person LarryF    schedule 07.01.2009