C# 4.0 Outlook不呈现html内容
我有以下电子邮件消息 在运行以下代码之后C# 4.0 Outlook不呈现html内容,c#-4.0,html-email,outlook-2010,C# 4.0,Html Email,Outlook 2010,我有以下电子邮件消息 在运行以下代码之后 string pattern = "<img src=\"cid.*?</span></p>|Inline image 1.*?</FONT>"; Outlook.Selection mySelection = Globals.ThisAddIn.Application.ActiveExplorer().Selection; Outlook.MailItem mailite
string pattern = "<img src=\"cid.*?</span></p>|Inline image 1.*?</FONT>";
Outlook.Selection mySelection = Globals.ThisAddIn.Application.ActiveExplorer().Selection;
Outlook.MailItem mailitem = null;
foreach (Object obj in mySelection)
{
if (obj is Outlook.MailItem)
{
mailitem = (Outlook.MailItem)obj;
string body = mailitem.HTMLBody;
Regex reg = new Regex(pattern, RegexOptions.Compiled | RegexOptions.Multiline|RegexOptions.Singleline);
MatchCollection matchs = reg.Matches(body);
foreach(Match match in matchs)
{
string a = match.Groups[0].Value;
mailitem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
mailitem.Body = body.Replace(a, string.Empty);
mailitem.Save();
}
//mailitem.BodyFormat = Outlook.OlBodyFormat.olFormatPlain;
}
}
我在outlook中收到以下电子邮件。
正文文本在浏览器中工作。这意味着当我将正文文本保存在简单的html文件中时,它可以正常工作并显示原始消息。您必须更改正文格式字符串
foreach(Match match in matchs)
{
string a = match.Groups[0].Value;
mailitem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
mailitem.HTMLBody = body.Replace(a, string.Empty);
mailitem.Save();
}
将完成此操作。请尝试此操作,[\n\r和标记在此不起作用,而需要使用
] 示例代码:
mailitem.HTMLBody = body;
public void OpenOutlook()
{
try
{
Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
oMsg.Subject = "emailSubject";
oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
oMsg.BCC = "emailBcc";
oMsg.To = "emailRecipient";
string body = "emailMessage";
//if body contains \n\r replace that into <br>
body = body.Replace("\r\n", "<br>");
body = body.Replace("\n", "<br>");
oMsg.HTMLBody = body;
oMsg.Display(true);
}
catch (Exception ex)
{
throw ex;
}
}