使用缓存Exchange模式时,上述操作无效。 Outlook仅检查邮件的本地缓存,因为它刚刚在服务器上创建,所以它不会立即在本地使用。
但是,当帐户未使用缓存Exchange模式时,它可以正常工作,因为Outlook会检查Exchange Server以查找电子邮件。
所以,问题是:
如何确保Outlook在查找邮件之前检查Exchange Server而不是本地缓存,或者至少与服务器同步?
以下是我们用于根据条目ID显示电子邮件的(简化)代码:
void ShowEmail(string entryId)
{
// (COM release and error handling removed for readability)
var app = new Microsoft.Office.Interop.Outlook.Application();
var ses = app.Session;
var mailItem =
(Microsoft.Office.Interop.Outlook.MailItem)ses.GetItemFromID(entryId);
mailItem.Object.Display(true);
}