【问题标题】:Outlook load url when body changed正文更改时 Outlook 加载 url
【发布时间】:2018-09-27 19:35:29
【问题描述】:

我正在 VSTO 中开发电子邮件跟踪应用程序。它在 html 正文中跟踪 url 分配时加载跟踪 url。我在发送按钮事件中的代码示例为

private void Application_ItemSend(object Item, ref bool Cancel)
{
 Outlook.MailItem mailItem = Item as Outlook.MailItem;
 string body = mailItem.HTMLBody;
 string imagurl = String.Format("<img id='shtracking' src='{0}'  border='0' 
 width='0' height='0'>",emailTrack);

int index2 = body.IndexOf("</body>");
            string finalResult = body.Insert(index2, imagurl);
            mailItem.HTMLBody = finalResult; //issue
}

它在发送消息之前重新加载页面。无论如何要在发送电子邮件之前阻止请求?

谢谢

【问题讨论】:

  • 您的代码究竟何时运行?响应哪个OOM事件?
  • 我在 Sent 事件中运行。 private void Application_ItemSend(object Item, ref bool Cancel) { // 这里的所有代码 }
  • 嗯...当您设置 HTMLBody 属性或当 Outlook 仍在显示消息时事件处理程序返回时会发生这种情况吗?
  • 设置HTMLbody属性时发生

标签: visual-studio vsto outlook-addin


【解决方案1】:

尝试取消提交(将 Cancel 参数设置为 true)并启动一个计时器 - 在它触发时,您将退出 Send 事件处理程序,因此您将能够调用 MailItem.Close 来关闭检查员。然后您可以设置HTMLBody 属性并再次调用Send。以某种方式标记该项目以避免在 Send 事件中再次对其进行处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多