I can pull email, walk through them, mark them as read, even sort. However, when I tried to restrict by ReceivedTime, it doesn't seem to be working. I get nothing back no matter what date/time I put in. I know ReceivedTime is valid based on the Sort works when I remove the restrict. Any suggestions?
Application app = new Application();
NameSpace outlookNs = app.GetNamespace("MAPI");
Microsoft.Office.Interop.Outlook.Folders folders = outlookNs.Folders[ohOptions.PSTName].Folders
Microsoft.Office.Interop.Outlook.Items items = folders["Inbox"].Items;
DateTime dt = DateTime.Now.Subtract(new TimeSpan(1,0,0));
items = items.Restrict("[ReceivedTime] > '" + dt.ToString("MM/dd/yyyy hh:mm:ss tt") + "'");
items.Sort("[ReceivedTime]", OlSortOrder.olAscending);
foreach (MailItem item in items)
{
String from = item.SenderEmailAddress;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…