Как войти в почтовый ящик Outlook? - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь войти в почтовый ящик, используя следующий код, но он входит в мой локальный почтовый ящик outlook вместо того, который указан в коде в строке oNS.Logon("account", "password", false, false).Нужно ли использовать Redemption.RDOSession для того же?Если так, как использовать это в C #?

oApp = new Outlook.Application();
oNS = oApp.GetNamespace("mapi");
oNS.Logon("account", "password", false, false);        

var EntryID = oApp.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox).EntryID;
var StoreID = oApp.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox).StoreID;

var folderID = oNS.GetFolderFromID(EntryID, StoreID);

Когда я использую RDSession.LogonHostedExchangeMailbox, я получаю следующую ошибку:

GetAutodiscoverForEmailAddress: в AD нет серверов автообнаружения для этого адреса. Ошибка в WinHttpSendRequest (collabera.com / autodiscover / autodiscover.xml): ошибка ERROR_WINHTTP_TIMEOUT в WinHttpSendRequest (collaberainc.mail.onmicrosoft.com/autodiscover/autodiscover.xml): ошибка ERROR_WINHTTP_NAME_NO_SYS_TOOKTHOWNDОшибкаОшибка имени запроса Ошибка поиска DNS с использованием 172.30.30.53:DNS. Ошибка запроса имени сервера DNS. Ошибка поиска DNS-запроса с использованием 172.30.30.11:DNS. Ошибка запроса имени сервера отчетов. Ожидается HTTP_STATUS_REDIRECT, получено 403 Не удалось получить URL-адреса автообнаружения из поиска DNSр

1 Ответ

0 голосов
/ 26 февраля 2019

Namespace.Logon в OOM принимает имя существующего профиля (как показано в Панели управления | Почта | Показать профили), не имя почтового ящика.

Поскольку вы пометилиВаш вопрос "Outlook-Redemption", я полагаю, вы ищете решение для погашения.В этом случае используйте RDOSession.LogonHostedExchangeMailbox - он действительно принимает SMTP-адрес почтового ящика Exchange, настраивает временный профиль, входит в систему и удаляет профиль.

...