Я пишу приложение 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 минуту, чтобы я мог получать почту, когда она уходит)