我當前想要將所有電子郵件(不管它們在哪個文件夾中)下載到我的SQL Server數據庫。通過EWS下載所有電子郵件
現在,雖然我知道如何搜索電子郵件或訂閱流式通知,但我還沒有學習如何將EWS中的所有消息同步到我的數據庫。
var emailMessages = GetItems<MSEmailMessage>(WellKnownFolderName.MsgFolderRoot);
foreach (var emailMessage in emailMessages)
{
Debug.WriteLine(emailMessage.Subject);
}
private IList<T> GetItems<T>(WellKnownFolderName wellKnownFolderName) where T : Item
{
IList<T> result = new List<T>();
Folder folder = Folder.Bind(_exchangeService, wellKnownFolderName);
if (folder.TotalCount > 0)
{
ItemView view = new ItemView(folder.TotalCount);
FindItemsResults<Item> items = _exchangeService.FindItems(wellKnownFolderName, view);
foreach (var resultItem in items.OfType<T>())
{
result.Add(resultItem);
}
}
return result;
}
這將返回0電子郵件(它甚至初始化一個新ItemView
前檢查的folder.TotalCount
之前拋出異常......)。
雖然檢查WellKnownFolderName.Inbox從收件箱中返回電子郵件,但它不允許我查詢子文件夾來同步整個郵件。
我錯過了什麼?
謝謝,現在我開始瞭解與EWS的演習:) – SeToY 2015-02-23 20:55:15