我有以下电子邮件。
运行以下代码后
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文件中时,它可以正常工作并显示原始消息。
答案 0 :(得分:1)
您必须更改正文格式字符串。
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();
}
答案 1 :(得分:1)
请试试这个,[\ n \ r和&lt; / BR&GT;标签在这里不起作用,需要使用&lt; br&gt; ]
示例代码:
{{1}}
答案 2 :(得分:-2)
mailitem.HTMLBody = body;
会做到这一点。