简单地说,我想在视图中呈现电子邮件的正文部分,我的问题是当电子邮件正文的样式影响我页面的其他html部分时。
<div class="col-md-12 m-b-5">
<div id="email" dir="ltr">
@Html.Raw(ViewBag.Body)
</div>
</div>
我不知道什么是电子邮件div内的渲染,并希望这一切只是在这个div内部渲染而不影响页面的其他部分。
您可以在为outlook插件设置Viewbag.body
之前删除所有无效内容我使用此代码过滤掉一些生成的内容。我遇到的问题是嵌入式图像,所以我使用正则表达式来过滤它们。也许你可以做类似的事情?
var reg = new Regex("<img[^>]+['\"][^>]*>");
var matches = reg.Matches(message.Body);
foreach (var match in matches)
{
body = body.Replace(match.ToString(), "");
}
编辑
当你查看电子邮件的来源(outlook html格式化电子邮件)时,你会看到在邮件开头定义了很多CSS类和规则。实际邮件以body标签(屏幕)开头。所以你可以抓住body标签内的数据并显示