Получение почты с сервера Exchange с использованием MAPI - PullRequest
2 голосов
/ 12 мая 2009

Я делаю фоновую работу для почтового архиватора Exchange Server. Я планирую сделать это с помощью C #. Может кто-нибудь дать некоторую идею, как начать. Могу ли я получить пример приложения, которое иллюстрирует, как MAPI может использоваться для чтения почты с сервера Exchange. Поскольку MAPI является Cpp dll, могу ли я получить оболочку C # для того же.

Ответы [ 5 ]

2 голосов
/ 25 июля 2009

Я понимаю, что прошло уже пару месяцев с тех пор, как вы опубликовали это, но для потомков - попробуйте это: Выкуп

2 голосов
/ 12 мая 2009

Если вам действительно нужно пойти по расширенному MAPI-маршруту (как мы это делали в моей предыдущей работе), я бы сначала посоветовал вам сделать это в простом C ++ и создать свою собственную упаковку для того, что вам нужно. Вы не хотите напрямую взаимодействовать с MAPI в управляемом коде

Я бы также предложил прочитать http://blogs.msdn.com/stephen_griffin/ Он в основном гуру MAPI в MS.

Удачи, если вы идете туда

2 голосов
/ 12 мая 2009

Использование MAPI из управляемого кода не поддерживается и его следует избегать. Если вы начинаете с нуля, я бы посмотрел на EWS (веб-службы Exchange) и спроектировал ваш продукт для поддержки Exchange 2007 и Exchange 2010.

1 голос
/ 30 июня 2009

Правильно, что использование оболочки C # было бы практически невозможно, но написать оболочку в C ++ .NET очень выполнимо. Мы написали нашу собственную оболочку MAPI на C ++. NET и использовали ее на C #. Работает отлично

Thomas, ComArchive

1 голос
/ 12 мая 2009

Вы действительно не хотите использовать оболочку MAPI C #. В тестировании все будет хорошо, но, поскольку .NET и dll MAPI время от времени управляют собственной памятью (читай 300 пользователей, много раз в час), они перезаписывают пулы памяти друг друга.

В итоге мы написали приложение VB6, которое приняло аргумент файла с тем, что мы хотели отправить, а затем написали файл на c # и назвали приложение vb6. Это работает, поскольку они являются отдельными процессами и, следовательно, не перезаписывают пулы памяти друг друга.

Мой совет вам не идти по маршруту mapi (если вы не испытываете боль) и, если возможно, использовать EWS (мы не можем этого сделать из-за того, что компания не хочет обновляться).

...