перенос электронной почты из imap на exchange 2010 с помощью c # - PullRequest
1 голос
/ 16 февраля 2010

Мне было поручено написать небольшое приложение, которое поможет перенести более 400 ГБ электронных писем, расположенных в структуре общих папок на Linux-сервере Linux, в общие папки MS Exchange 2010.

Я смотрел на перетаскивание с внешним видом, но есть проблема. Outlook перенаправляет всю электронную почту локально в pst-файл перед отправкой в ​​Exchange. В настоящее время ограничение для этих файлов составляет 20 ГБ.

Теперь, не будучи сильным разработчиком в C #, есть ли способ использовать outlook в качестве соединителя для сервера imap и обмена, а затем использовать C # для обхода структуры папок и копирования писем?

Что важно, так это то, что мы не теряем исходные данные заголовка / источника электронной почты.

Я знаю, что единственный способ общения с общими папками в Exchange 2010 - это использование веб-служб Exchange, однако из примеров, которые я видел, это может изменить источник электронной почты. Я надеюсь, что Outlook поможет сохранить эти данные, а использование интерфейса mapi исключает необходимость выполнения этих вызовов веб-служб.

Хотя я и сказал, что использую C #, я готов написать это на другом языке (java, perl, php и т. Д.), Мне просто нужно придумать что-то, что поможет решить мою проблему.

Может ли кто-либо из сообщества SO дать мне какие-либо советы, чтобы помочь с этой проблемой или указать мне правильное направление ??

Большое спасибо,

Грант

1 Ответ

1 голос
/ 20 февраля 2010

Боюсь, что невозможно перенести данные в MS Exchange 2010 без изменения источника электронной почты. Exchange 2007 больше не хранит фактические данные MIME (формат, который вы получаете с сервера IMAP), а только восстанавливает их по требованию. Они хранят только то, что называют «MIME Skeleton» - см. Этот форум MS . На этом форуме я не обнаружил, но сам заметил, что этот обратный процесс обычно не выдает сообщение, идентичное оригинальному - содержимое сущностей MIME не изменяется, но его структура часто изменяется - используются разные кодировки передачи контента, некоторые заголовки или добавляются или модифицируются и т. Д.

По крайней мере, так хранятся сообщения в почтовых ящиках пользователей, но я предполагаю, что для общих папок то же самое. Кроме того, возможно (хотя и маловероятно), что Exchange 2010 ведет себя иначе, чем Excahnge 2007.

И хотя я не эксперт по MAPI, я думаю, что формат MIME даже не используется в нем (Outlook не может даже сохранить сообщение в формате MIME), что сделало бы MAPI маловероятное решение для сохранения источника электронной почты.

Поэтому я советую сделать то, что вы уже попробовали - получить данные электронной почты с сервера IMAP в формате MIME и сохранить их с помощью веб-служб Exchange. Мы делаем это, чтобы переместить почтовые сообщения с сервера IMAP в почтовый ящик пользователя Exchange 2007, и у нас никогда не было проблем с испорченными сообщениями (но опять же у нас нет 400 ГБ данных).

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