我编写了一个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();
这在前景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;
但&#34;内容&#34;变量仍包含最初格式化的HTML。这是正确的方向吗?如何使用outlook代码重新格式化HTML?
答案 0 :(得分:0)
我会回答我自己的问题......
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");
}