【问题标题】:C# VSTO Add-in - Convert plain text email to HTMLC# VSTO 插件 - 将纯文本电子邮件转换为 HTML
【发布时间】:2011-09-01 18:20:19
【问题描述】:

我们为 Outlook 2010/2007 编写了 VSTO 插件。

在某一时刻,我们的插件必须将纯文本电子邮件从功能区控件转换为 HTML。这会导致 Outlook 出现一些奇怪的行为:

  1. 我们正在使用 MailItem COM 对象
  2. 我们设置 MailItem.HTMLBody
  3. 电子邮件已转换为 HTML,但出于某种原因,字体是 10pt 的 Times New Roman

Outlook 中的默认字体是 Calibri 11pt,这让我们的电子邮件转换对用户来说看起来很奇怪。当您使用 Outlook 中的现有按钮转换为 HTML 时,它可以按预期工作,但在使用我们的插件按钮时不会。

所以我们尝试了以下方法:

  • 提前设置 MailItem.BodyFormat
  • 将我们的电子邮件文本包装为:<span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'></span>(我们通过查看新 Outlook 电子邮件的来源获得了这个想法)

<span> 标签包裹在电子邮件正文周围可以将字体更改为 Calibri,但字体大小保持在 10pt...

有没有更好的方法来做到这一点?另一种解决方法?

编辑,工作代码:

        if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
        {
            _mailItem.GetInspector.CommandBars.ExecuteMso("MessageFormatHtml");
        }

_mailItem 是 Microsoft.Office.Interop.Outlook.MailItem。

【问题讨论】:

    标签: c# .net outlook vsto outlook-addin


    【解决方案1】:

    你有两种方法:

    1. 通过Inspector.CommandBars.ExecuteMso("MessageFormatHtml") 以编程方式“单击”内置按钮
    2. 关闭检查器,转换邮件格式,保存邮件并重新打开。

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多