【发布时间】:2018-09-20 06:12:22
【问题描述】:
目前在 VSTO (VS 2017) 中使用 C# 创建 Outlook 2010 加载项,想知道如何直接从收件箱中检索电子邮件以自动扫描传入邮件的网络钓鱼 URL。将为多个用户帐户和 PC 安装此加载项。我可以使用服务器凭据和 EWS 直接连接到交换服务器,但是因为它适用于多个低权限用户,有没有办法确保他们的用户帐户信息是唯一需要的凭据,而无需连接到交换服务器 ?
这是我找到的直接连接到 Exchange 服务器的示例代码:
using Microsoft.Exchange.WebServices.Data;
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials("USERNAME", "PASSWORD", "DOMAIN");
service.Url = new Uri("EXCHANGE_WEBSERVICE_URL");
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
if (inbox.UnreadCount > 0)
{
ItemView view = new ItemView(inbox.UnreadCount);
view.PropertySet = PropertySet.IdOnly;
FindItemsResults<Item> results = service.FindItems(inbox.Id, view);
foreach (Item item in results.Items)
{
EmailMessage email = EmailMessage.Bind(service, new ItemId(item.Id.UniqueId.ToString()));
//PROCESS EMAIL MESSAGE
email.IsRead = true;
email.Update(ConflictResolutionMode.AlwaysOverwrite);
}
}
示例代码的创建者致谢
【问题讨论】:
标签: c# outlook vsto exchange-server outlook-addin