Чтение свойств из Mailitem в Outlook Outbox делает его не отправлять - PullRequest
3 голосов
/ 07 июля 2010

Я пишу приложение VSTO для Outlook 2007, которое периодически проверяет почту в папке «Исходящие». Я могу запустить 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 минуту, чтобы я мог получать почту, когда она уходит)

...