[英]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.