Я разработал приложение для нашего клиента, которое будет обрабатывать электронные письма, хранящиеся в общих папках.
Публичные папки размещались на локальном сервере 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 с определенной учетной записью, не используя профиль пользователя, в котором запущено приложение, и получить доступ к общим папкам?