Как получить доступ к общедоступным папкам O365 Exchange из определенной учетной записи с помощью Outlook Redemption? - PullRequest
0 голосов
/ 28 августа 2018

Я разработал приложение для нашего клиента, которое будет обрабатывать электронные письма, хранящиеся в общих папках.

Публичные папки размещались на локальном сервере Exchange. Приложение запускалось по запланированной задаче от имени администратора.

У учетной записи администратора был профиль Outlook.

Приложение будет входить в систему с помощью rdoSession.Logon и использовать rdoSession.Stores.FindExchangePublicFoldersStore для доступа к общим папкам.

Обмен теперь перенесен в Office 365, и теперь приложение должно работать на виртуальной машине в Azure.

Приложение больше не работает от имени администратора, а работает как сетевая служба. Это то, что я не могу контролировать.

Поскольку эта учетная запись не имеет профиля Outlook, я хочу иметь возможность войти в учетную запись Exchange для доступа к общим папкам.

Мы используем O365, чтобы я мог проверить функциональность локально. Если я запускаю приложение в своей учетной записи, оно работает, как и ожидалось.

При попытке подключиться к Exchange без использования профиля по умолчанию я попытался использовать:

rdoSession.LogonHostedExchangeMailbox("smtp.office365.com", "myAccount","myPassword")

Это было нормально, и я смог войти. Когда я звонил rdoSession.Stores.FindExchangePublicFoldersStore, я получаю сообщение об ошибке «Не удалось найти хранилище общих папок».

Можно ли войти в O365 Exchange с определенной учетной записью, не используя профиль пользователя, в котором запущено приложение, и получить доступ к общим папкам?

1 Ответ

0 голосов
/ 29 августа 2018

Поскольку публичные папки больше не являются обязательным компонентом, поставщик MSEMS не предполагает, что хранилище PF даже присутствует. Вместо этого он асинхронно добавляет его позже, когда (на основе автообнаружения XML) понимает, что хранилище PF доступно. Невозможно заставить поставщика MSEMS выполнить эту проверку и добавить хранилище по требованию.

Попробуйте создать фиксированный профиль Outlook в онлайн-режиме на этом компьютере и использовать этот профиль для вызова RDOSession.Logon. Профиль должен быть создан, когда вы локально вошли в систему как пользователь, который будет запускать службу.

...