Коллеги, добрый день.
Имеем DAX2009, Интересует концептуальный вопрос - чем пользоваться для обработки разных почтовых ящиков по отправленным и входящим письмам, которые не отправлялись и DAX, но нужно иметь данные как по отправленным, так и по входящим письмам на нескольких почтовых ящиках, которые расположены на разных типах почтовых серверах и письма рассортированы по разным папкам?
Естественно, интересует обработка программно из DAX.
В общем виде задача от больших боссов выглядит так:
- Существует несколько почтовых ящиков для общения с клиентами (по претензиям, по рекламе, по чему-то еще), часть из них это внешние облачные службы, часть это внутренний сервер почты (пока MS Exhange, но не исключено что будет другой).
- Клиенты пишут нам письма, мы на них отвечаем (перед ответом можем переслать это письмо во внутренней почте, но это нас не интересует, главное письма Клиент-Мы и Мы-Клиент)
- В этих почтовых ящиках есть папки Входящие и Отправленные, внутри этих папок создаются подпакпи по темам, в которые либо по правилам, либо вручную письма переносятся из папок по умолчанию входящие/отправленные.
- По некоторым из папок входящих и отправленных писем (корневых или вложенных) нужно получать в DAX2009 некоторые данные из этих писем (предположим, EMail клиента, тема, кто ответил, текст письма, вложения и т.п.)
- Врямя от времени эти почтовые ящики чистятся, но независимо от этого сам факт общения (и некоторые данные писем) нужно хранить в DAX (например, в течение срока исковой давности по претензиям).
Куда и как сохранять данные в общем-то не важно.
По частям что и как использовать понимаю:
- Когда сам отправляю письма из DAX, то все об это знаю - пользую SMTP для отправки (и есть стандартные классы в dot.net), а сохраняю то что знаю и то что мне нужно.
- При проверке входящих пользуюсь POP3 (да, нет стандартных классов в dot.net, не очень просто найти подходящую библиотеку или создать свою, но все решаемо).
- Если общаться только с MS Exchange, то тоже нет вопросов - использование EWS (пока не знаю подводных камней, но вроде бы подходит).
- Если работать с тем же Emarsys тоже все получается (ну ладно, пусть не совсем все, но многое), но это очень частный web сервис.
А сам вопрос в следующем - можно ли как-то обращаться к разным почтовым системам для того, чтобы:
- Получить список входящих и отправленных писем независимо от того, в общей папке они находятся или разбросаны по разным папкам.
- Зная конкретное письмо (по предыдущему пункту) получить его данные (включая, например, вложения).
Пусть в разных почтовых системах способы такой обработки отличаются, но главное чтобы эти возможности были (пока интересуют gmail.com, yandex.ru, mail.ru, ms exchange), но список совсем не полный.
В общем, есть ли какой-либо стандарт, пусть сложный, непонятный, но единый, для обращения и ко входящим и к отправленным письмам для семейства почтовых серверов когда мы не отправляем, мы не получаем письма сами, а только запрашиваем их данные?