我正在为Outlook 2007编写一个VSTO应用程序,定期检查发件箱中的邮件。我可以遍历MailItems并检查.Submitted属性,没有任何不利影响。但是,如果我读取SentOn属性,则Outlook中的邮件将停止斜体并且不再被发送。
我必须去mailitem.Send()以确保它仍然被发送。
e.g。
MAPIFolder folder = Application.Session.GetDefaultFolder(OlDefaultFolders.olFolderOutbox) as MAPIFolder;
MailItem latest = null;
foreach (object item in folder.Items)
{
MailItem mailItem = item as MailItem;
if( mailItem != null && mailItem.Submitted )
{
if (latest == null || mailItem.SentOn > latest.SentOn)
{
latest = mailItem;
}
mailItem.Send(); // have to resend as checking the sent date takes it out the queue!
}
}
似乎是大多数属性的情况 - 但是。提交保持不变。我还没有改变它,所以如何在没有它的情况下检查邮件。 (我应该补充说,我有一条规则可以将邮件延迟1分钟,以便我可以在邮件离开时收到邮件)