【发布时间】:2016-06-30 00:49:49
【问题描述】:
我正在处理 Outlook 插件,我想在用户正在阅读的邮件的 html 中查找一些特定标签。就此而言,我正在使用 ActiveExplorer 的选择更改事件。
currentExplorer.SelectionChange += new Outlook
.ExplorerEvents_10_SelectionChangeEventHandler
(CurrentExplorer_Event);
private void CurrentExplorer_Event()
{
if (this.Application.ActiveExplorer().Selection.Count == 1)
{
Object selObject = this.Application.ActiveExplorer().Selection[1];
if (selObject is Outlook.MailItem)
{
Outlook.MailItem mailItem = (selObject as Outlook.MailItem);
lookForTags(mailItem.HTMLBody);
}
}
}
问题在于,要使其正常工作,用户必须点击邮件两次,因为第一次邮件仍在加载中,mailItem.HTMLBody 返回:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="MS Exchange Server version 08.01.0240.003">
<TITLE></TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
</BODY>
</HTML>
然后第二次,邮件完成加载,所以 mailItem.HTMLBody 返回真实正文,一切正常。邮件加载完成后是否会触发任何其他事件,以便我可以开始执行我的代码?或者有没有更好的解决方案来避免 HTMLBody 为空?
【问题讨论】:
-
这是什么消息存储?