Как открыть хранилище сообщений обмена с помощью MAPI без дополнительных диалогов - PullRequest
0 голосов
/ 20 сентября 2011

Я использую MAPI32.dll, чтобы получить доступ к почте пользователя. В настоящее время я делаю следующее

   MAPI.LogonEx(IntPtr.Zero, profileName, null, MAPI.FLAGS.Extended | MAPI.FLAGS.NewSession | MAPI.FLAGS.AllowOthers | MAPI.FLAGS.NoMail, out mapiSession);
    ...
   mapiSession.OpenMsgStore(IntPtr.Zero, ENTRYID.Create(rows[0, 0]), Guid.Empty, IMAPISession.FLAGS.BestAccess | IMAPISession.FLAGS.MdbOnline | IMAPISession.FLAGS.MdbTemporary | IMAPISession.FLAGS.MdbNoMail, out mdb);

Я использую IMAPISession.FLAGS.MdbOnline для получения сообщений непосредственно с сервера Outlook. Это успешно соединяет меня с входящим почтовым ящиком пользователя, который я затем могу просмотреть. Но этот код заставляет диалог вводить учетные данные пользователя. Кто-нибудь может предложить какой-нибудь "тихий" способ получать сообщения без диалоговых окон ?

Буду рад любому совету.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2011

Поставщик Exchange всегда использует идентификационные данные текущего пользователя (для родительского процесса), но также использует кэш учетных данных. Вы должны иметь возможность кэшировать учетные данные с помощью CredWrite () перед открытием магазина.

0 голосов
/ 20 сентября 2011

Необходимо указывать учетные данные при подключении к хранилищу сообщений.это заставит слой mapi продолжать работу без повторного запроса.

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