Комментарии Максима Масютина: Сделал версию для проверки работы с Exchange, но кроме как для проверки работы с Exchange её лучше не использовать, мы переделываем код в других местах программы и могут появиться новые баги.
[+ ] Outlook Import and Exchange MAPI: added support for attached RFC-822-messages embedded as ATTACH_EMBEDDED_MSG; [- ] Exchange MAPI: The Bat! might consider some folders on Exchange server as not for email messages and could skip them during mail retrieval; [- ] Exchange MAPI: incorrect number of processing folders was displayed during mail retrieval: The Bat! did also count empty folders; [- ] Exchange MAPI: The Bat! did improperly calculate the total e-mail message count: non-email items like appointments or addresses were also added to the total number of e-mail messages to retrieve, although The Bat! did skip these non-email items; [- ] Exchange MAPI: you can go to Account|Properties|Options and turn on "Verbose Log" to see which folders and items does The Bat! skip or process during Exchange retrieval; [- ] Exchange MAPI: A dialog box should be displayed to prompt the user for the profile password, if required. Now The Bat! uses the following MapiLogonEx flags: MAPI_EXTENDED | MAPI_ALLOW_OTHERS | MAPI_EXPLICIT_PROFILE | MAPI_NEW_SESSION | MAPI_PASSWORD_UI | MAPI_FORCE_DOWNLOAD; [- ] Exchange MAPI: When verbose logging is enabled, when The Bat! skips non-email items, it displays the Message Class and Subject of these items.
С резолвингом X.400 адресов пока не получается. Функция IAddrBook.ResolveName работает через раз. В некоторых сеансах резолвин, в некоторых выдает ошибку MAPI_E_NOT_FOUND. Придется дальше разбираться с этим.