Exchange WebSerivce Usage

时间:2023-03-09 17:36:17
Exchange WebSerivce Usage

//ExchangeService版本为2007SP1

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);

//参数是用户名,密码,域

service.Credentials = new WebCredentials("xxx@xxx.com", "xxxxxx", "xxx");

//给出Exchange Server的URL

//service.Url = new Uri("mail.xxxx.com");

//你自己的邮件地址 xxx@xxx.xxx

service.AutodiscoverUrl("xxx@xxx.com");

//创建过滤器, 条件为邮件未读.

SearchFilter sf = new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false);

//查找Inbox,加入过滤器条件,结果10条

FindItemsResults<Item> findResults = service.FindItems(                 WellKnownFolderName.Inbox,                 sf,                 new ItemView(100));

if (findResults.Items.Count > 0)

{

PropertySet detailedPropertySet = new PropertySet(BasePropertySet.FirstClassProperties, AppointmentSchema.Recurrence);

service.LoadPropertiesForItems(from Item item in findResults select item, detailedPropertySet);

}

foreach (Item item in findResults.Items)

{

EmailMessage email = EmailMessage.Bind(service, item.Id);

string content = item.Body.Text;

if (!email.IsRead)

{                     Console.WriteLine(email.Body);

//标记为已读

email.IsRead = true;

//将对邮件的改动提交到服务器

email.Update(ConflictResolutionMode.AlwaysOverwrite);

}

}