Экспортируйте EmailMessage из EWS, который можно открыть в MS Outlook - PullRequest
2 голосов
/ 22 сентября 2011

Я пишу приложение, которое отслеживает почтовый ящик Exchange с помощью EWS. Сохраняет вложения входящих писем в сетевую папку.

Эти файлы затем используются сторонним приложением.

Теперь меня спросили, возможно ли сохранить не только вложения, но и всю электронную почту с вложенными вложениями, чтобы ее можно было открыть в Outlook. (другие клиенты не должны поддерживаться).

Сервер Exchange - Exchange 2010, а приложение пишется на C# Можно ли это сделать с помощью EWS? Или мое единственное решение использовать Interop.Outlook для создания MSG-файла?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011
ExchangeService exchangeService = ...
EmailMessage mailMessage = ...

var propertySet = new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent, EmailMessageSchema.IsRead);

exchangeService.LoadPropertiesForItems(mailMessage, propertySet);

File.WriteBytes("filename.eml", mailMessage.MimeContent.Content);
2 голосов
/ 26 сентября 2011

Какую версию Outlook вы используете? Outlook 2010 может открывать файлы .EML, которые являются «родным» форматом хранения почты (RFC 2822). В этом случае вы можете использовать EWS Webservices (или EWS Managed API) для загрузки содержимого MIME.

В любых других случаях взгляните на Outlook Redemption (http://www.dimastr.com/redemption/). Он может сохранять элементы в виде файла MSG и может использоваться из C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...