Monitoring 使用EWS托管API监视邮箱中的新电子邮件

Monitoring 使用EWS托管API监视邮箱中的新电子邮件,monitoring,exchangewebservices,Monitoring,Exchangewebservices,我正在做一件我以前从未做过的工作 任务:监视exchange server 2007上的特定邮箱收件箱。遍历所有电子邮件(仅电子邮件),进行一些处理并移动到同一邮箱下的特定文件夹 我做的工作 // Create the binding ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); //service.Credentials = new WebCredentials("mailbox

我正在做一件我以前从未做过的工作

任务:监视exchange server 2007上的特定邮箱收件箱。遍历所有电子邮件(仅电子邮件),进行一些处理并移动到同一邮箱下的特定文件夹

我做的工作

// Create the binding
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
//service.Credentials = new WebCredentials("mailbox", "password", "mailbox@something.com");
service.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["ExchangeUsername"].ToString(), ConfigurationManager.AppSettings["ExchangePassword"].ToString(), "something/domain");
// Set the url.
//service.AutodiscoverUrl("mailbox@something.com");
service.Url = new Uri(ServiceUrl);
ItemView view = new ItemView(10);
view.Traversal = ItemTraversal.Shallow;
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
List<SearchFilter> searchFilterCollection = new List<SearchFilter>();
//searchFilterCollection.Add(new SearchFilter.ContainsSubstring(ItemSchema.ItemClass, "MessageType"));
searchFilterCollection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Subject, "test to be deleted"));
SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, searchFilterCollection.ToArray());

FindItemsResults<Item> results = service.FindItems(WellKnownFolderName.Inbox, view);
//创建绑定
ExchangeService服务=新的ExchangeService(ExchangeVersion.Exchange2007_SP1);
//service.Credentials=新的WebCredentials(“邮箱”、“密码”、”mailbox@something.com");
service.Credentials=新的网络凭据(ConfigurationManager.AppSettings[“ExchangeUsername”].ToString(),ConfigurationManager.AppSettings[“ExchangePassword”].ToString(),“某物/域”);
//设置url。
//服务。自动发现URL(“mailbox@something.com");
Url=新的Uri(ServiceUrl);
ItemView视图=新的ItemView(10);
view.Traversal=ItemTraversal.Shallow;
view.PropertySet=newpropertyset(BasePropertySet.IdOnly);
List searchFilterCollection=新建列表();
//添加(新的SearchFilter.ContainsSubstring(ItemSchema.ItemClass,“MessageType”);
添加(新的SearchFilter.ContainsSubstring(ItemSchema.Subject,“要删除的测试”);
SearchFilter SearchFilter=新建SearchFilter.SearchFilterCollection(LogicalOperator.Or,SearchFilterCollection.ToArray());
FindItemsResults=service.FindItems(WellKnownFolderName.Inbox,视图);

由于某些原因,我总是得到results.items.count=9,但其中只有一封电子邮件Mailbox@something.com. 我在搜索时有没有做错什么。如果收件箱中有5封电子邮件,那么我应该将其计数为5,并循环浏览这5封电子邮件。有没有办法只查询电子邮件?感谢您的帮助。谢谢。

我刚才回答了自己的问题,但忘了在这里更新。所以,当我说计数不匹配时,它正在监视冒充帐户的邮箱。巧合的是,模拟帐户有一个邮箱