Это беспорядок. MAPI или CDO через .NET interop DLL официально не поддерживаются Microsoft - они будут работать нормально, но есть проблемы с утечками памяти из-за их разных моделей памяти. Вы можете использовать CDOEX, но это работает только на самом сервере Exchange, а не удаленно; бесполезный. Вы можете взаимодействовать с Outlook, но теперь вы только что сделали зависимость от Outlook; излишество. Наконец, вы могли бы использовать Поддержка WebDAV в Exchange 2003 , но WebDAV сложен, в .NET есть слабая встроенная поддержка для него, и (чтобы добавить оскорбление к травме) Exchange 2007 почти полностью падает Поддержка WebDAV.
Что делать парню? В итоге я использовал IMAP-компонент AfterLogic для связи с моим сервером Exchange 2003 через IMAP, и это сработало очень хорошо. (Обычно я ищу бесплатные библиотеки или библиотеки с открытым исходным кодом, но я обнаружил, что все .NET хотят, особенно когда речь идет о некоторых особенностях реализации IMAP 2003 года - и эта была достаточно дешевой и работала над первым попробуй. Я знаю, что есть другие.)
Однако если ваша организация работает на Exchange 2007, вам повезло. Exchange 2007 поставляется с интерфейсом веб-службы на основе SOAP , который, наконец, обеспечивает унифицированный, независимый от языка способ взаимодействия с сервером Exchange. Если вы можете сделать 2007+ обязательным требованием, это определенно верный путь. (К сожалению, для моей компании действует политика «но 2003 год не нарушен».)
Если вам нужно соединить и Exchange 2003, и 2007, IMAP или POP3 - это определенно правильный путь.