我正在尝试使用以下代码登录邮箱,但它登录到我的本地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):WinHttpSendRequest中的ERROR_WINHTTP_TIMEOUT错误(collaberainc.mail.onmicrosoft.com/autodiscover/autodiscover.xml):ERROR_WINHTTP_NAME_NOT_RESOLVED错误在WinHttpSendRequest(autodiscover.collaberainc.mail.onmicrosoft.com/autodiscover/autodiscover.xml)中:来自https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml服务器响应的ERROR_WINHTTP_CANNOT_CONNECT HTTP错误401:
GetAutodiscoverUrlFromDns错误:DNS查找错误使用172.17.18.50:DNS服务器报告查询名称错误DNS查找错误使用172.30.30.53:DNS服务器报告查询名称错误DNS查找错误使用172.30.30.11:DNS服务器报告查询名称错误预期HTTP_STATUS_REDIRECT,收到403无法从DNS查找中检索任何自动发现网址
OOM中的Namespace.Logon
采用现有配置文件的名称(如控制面板|邮件|显示配置文件中所示),而不是邮箱的名称。
由于您标记了“Outlook-Redemption”问题,我假设您正在寻找赎回解决方案。在这种情况下,使用RDOSession.LogonHostedExchangeMailbox
- 它确实采用Exchange邮箱的SMTP地址,配置临时配置文件,登录并删除配置文件。