从Outlook发件箱中的邮件项读取属性会使其无法发送

从Outlook发件箱中的邮件项读取属性会使其无法发送,outlook,vsto,mailitem,Outlook,Vsto,Mailitem,我正在为Outlook 2007编写一个VSTO应用程序,定期检查发件箱中的邮件。我可以运行MailItems并检查.Submitted属性,没有任何不良影响。但是,如果我阅读SentOn属性,Outlook中的邮件将停止使用斜体,不再发送 我必须转到mailitem.Send()以确保它仍然被发送 e、 g 大多数属性似乎都是这样,但是。提交后,它将保持不变。我没有改变它,所以我怎么能检查邮件不去。(我应该补充一点,我有一条规定,邮件延迟1分钟,这样我就可以在邮件离开时收到邮件) MAPIF

我正在为Outlook 2007编写一个VSTO应用程序,定期检查发件箱中的邮件。我可以运行MailItems并检查.Submitted属性,没有任何不良影响。但是,如果我阅读SentOn属性,Outlook中的邮件将停止使用斜体,不再发送

我必须转到mailitem.Send()以确保它仍然被发送

e、 g

大多数属性似乎都是这样,但是。提交后,它将保持不变。我没有改变它,所以我怎么能检查邮件不去。(我应该补充一点,我有一条规定,邮件延迟1分钟,这样我就可以在邮件离开时收到邮件)

 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!
     }               
 }