送信トレイのメールを定期的にチェックする 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 分間遅らせるルールがあることを付け加えておきます。これにより、メールが送信されたときに受信できるようになります)