簡體   English   中英

C# VSTO 插件 - 將純文本 email 轉換為 HTML

[英]C# VSTO Add-in - Convert plain text email to HTML

我們為 Outlook 2010/2007 編寫了 VSTO 插件。

在某一時刻,我們的插件必須從功能區控件將純文本電子郵件轉換為 HTML。 這會導致 Outlook 出現一些奇怪的行為:

  1. 我們正在使用 MailItem COM object
  2. 我們設置 MailItem.HTMLBody
  3. Email 被轉換為 HTML,但由於某種原因字體是 Times New Roman 10pt

Outlook 中的默認字體是 Calibri 11pt,這使得我們的 email 轉換對用戶來說看起來很奇怪。 當您使用 Outlook 中的現有按鈕轉換為 HTML 時,它可以按預期工作,但在使用我們的插件按鈕時不會。

所以我們嘗試了以下方法:

  • 提前設置 MailItem.BodyFormat
  • <span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'></span>包裹我們的 email 文本(我們從查看新 Outlook 的源代碼中得到這個想法電子郵件)

<span>標簽包裹在 email 主體周圍可以將字體更改為 Calibri,但字體大小保持在 10pt...

有一個更好的方法嗎? 另一種解決方法?

編輯,工作代碼:

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

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

你有兩種方法:

  1. 通過Inspector.CommandBars.ExecuteMso("MessageFormatHtml")以編程方式“單擊”內置按鈕
  2. 關閉inspector,轉換消息格式,保存email並重新打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM