簡體   English   中英

C#Office / Outlook 2010工具欄-HTML電子郵件-HTMLBody緩慢

[英]C# Office / Outlook 2010 Toolbar - HTML Emails - HTMLBody is slow

我正在編程一個Outlook工具欄,該工具欄從網站上下載了一些電子郵件模板,然后允許從准備好的html文件創建html電子郵件,這是我用來創建電子郵件的代碼:

        MailItem letter = (MailItem)Globals.ThisAddIn.Application.CreateItem(OlItemType.olMailItem);
        letter.HTMLBody = @"<div style=""text-align:center""> <b><br/>Please wait for content to be loaded...</b></div>";            
        letter.Display(false);
        letter.BodyFormat = OlBodyFormat.olFormatHTML;
        letter.HTMLBody = buffer.ToString();

在Outlook 2003/2007中這是可以的,但在2010中則是如此。我已經意識到Outlook在電子郵件中添加了很多糟糕的代碼(MSO樣式,重新格式化html以及許多其他廢話),但這實際上非常慢。 我考慮過強迫Outlook將廢話代碼添加到保存的HTML文件中,我已經嘗試過:

            // Compile the file and add the MSO Crap
            MailItem letter = (MailItem)Globals.ThisAddIn.Application.CreateItem(OlItemType.olMailItem);
            letter.BodyFormat = OlBodyFormat.olFormatHTML;
            letter.HTMLBody = content;
            content = letter.HTMLBody;

但是“ content”變量仍然包含原始格式的HTML。 這是正確的方向嗎? 如何使用Outlook代碼重新格式化HTML?

我會回答我自己的問題...

public static string HtmlToCrap(String HtmlSource)
{
string HtmlFile = "";
System.IO.File.WriteAllText(HtmlFile, HtmlSource);


Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document oDoc = new Microsoft.Office.Interop.Word.Document();

oDoc = oWord.Documents.Add();
oWord.Visible = false;

oDoc = oWord.Documents.Open(HtmlFile);

oDoc.SaveAs(@"C:\WORDhtml.html", Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML);

oDoc.Close(false);
oWord.Quit();

return ReadFile(@"C:\WORDhtml.html");
}

暫無
暫無

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

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