c# - 在第三方地址上服务 AutoDiscoverUrl
问题描述
我在 StackOverFlow 上使用了一个示例,如下所示:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
//service.Credentials = new NetworkCredential( "{Active Directory ID}", "{Password}", "{Domain Name}" );
service.AutodiscoverUrl( "First.Last@MyCompany.com" );
FindItemsResults<Item> findResults = service.FindItems(
WellKnownFolderName.Inbox,
new ItemView( 10 )
);
foreach ( Item item in findResults.Items )
{
Console.WriteLine( item.Subject );
}
目前,无论输入的电子邮件地址如何,它都会从我登录的 AD 帐户中检索邮件service.AutodiscoverUrl
。
是否需要填写service.Credentials
才能访问其他用户的邮箱?
谢谢你。
解决方案
自动发现只是根据用户发现用于 EWS 的最佳端点,但不会影响您尝试访问的邮箱。对于凭据,您应该使用有权访问您尝试访问的任何内容的用户,如果您想访问邮箱以外的其他凭据,则您需要使用文件夹 id 类的邮箱覆盖,例如在您的示例中
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
//service.Credentials = new NetworkCredential( "{Active Directory ID}", "{Password}", "{Domain Name}" );
service.AutodiscoverUrl("First.Last@MyCompany.com");
FolderId FolderToAccess = new FolderId(WellKnownFolderName.Inbox, "First.Last@MyCompany.com");
FindItemsResults<Item> findResults = service.FindItems(
FolderToAccess,
new ItemView(10)
);
foreach (Item item in findResults.Items)
{
Console.WriteLine(item.Subject);
}
推荐阅读
- c# - 我想在循环中多次调用 Azure Face API 并将所有结果保存在一个数组中
- java - 如何将 Telephony.Sms 加入 ContactsContract.Contacts?
- javascript - 当 cmd 窗口处于“选择”模式时,节点脚本执行暂停
- c++ - 如何使用 mmap 和 shm_open 在多个独立进程之间共享内存
- c# - VB6 的 MSXML2.XMLHTTP 与 C# 的 WebResponse
- java - 如何在 Android 中禁用 NumberPicker 元素之外的滚动
- python - Python 缩略图问题
- vue.js - Nativescript Vue:如何访问 v-template 中的数据属性?
- oop - 如何在没有代码冗余的情况下表示两个非常相似的结构?
- python - 使用 Python 中的现有代码协助转置具有附加列的数据框