2009-05-12 2 views
2

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

ответ

2

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

1

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

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

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

2

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

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

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

1

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

Томас, ComArchive

2

Я понимаю, что это было пару месяцев, так как вы отправили это, но для потомков - попробовать это: Redemption

Смежные вопросы