我正在为 Outlook 2007 编写一个 VSTO 应用程序,它会定期检查发件箱中的邮件。我可以运行 MailItems 并检查 .Submitted 属性,而不会产生不利影响。但是,如果我阅读 SentOn 属性,则 Outlook 中的邮件将停止斜体,不再发送。
我必须去 mailitem.Send() 以确保它仍然被发送。
例如
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!
}
}
大多数属性似乎都是这种情况 - 但 .Submitted 保持不变。无论如何我都没有改变它,所以我怎么能在没有它的情况下检查邮件。(我应该补充一点,我有一条规则将邮件延迟 1 分钟,这样我就可以在邮件离开时收到邮件)