C# 将富文本发送到电子邮件

C# 将富文本发送到电子邮件,c#,.net,system.net.mail,C#,.net,System.net.mail,我在将消息中的文本作为html标记发送到邮件时遇到了一个问题。首先,我将rtf转换为html string GetHtmlContent(string someRTFtext) { RichEditDocumentServer server = new RichEditDocumentServer(); server.RtfText = someRTFtext; server.Options.Export.Html.CssPropertiesExportType = De

我在将消息中的文本作为html标记发送到邮件时遇到了一个问题。首先,我将rtf转换为html

string GetHtmlContent(string someRTFtext)
{
    RichEditDocumentServer server = new RichEditDocumentServer();
    server.RtfText = someRTFtext;
    server.Options.Export.Html.CssPropertiesExportType = DevExpress.XtraRichEdit.Export.Html.CssPropertiesExportType.Inline;
    server.Options.Export.Html.DefaultCharacterPropertiesExportToCss = true;
    server.Options.Export.Html.EmbedImages = true;
    server.Options.Export.Html.ExportRootTag = DevExpress.XtraRichEdit.Export.Html.ExportRootTag.Body;

    return server.HtmlText;
}
这个方法返回给我

<body>
<style type="text/css">
    .cs2E86D3A6{text-align:center;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
    .cs88F66593{color:#800080;background-color:transparent;font-family:Arial;font-size:8pt;font-weight:bold;font-style:normal;}
</style>
<p class="cs2E86D3A6"><span class="cs88F66593">Форматированый текст</span></p></body>

一些电子邮件客户端,包括Gmail webmail,不支持
元素;看

通过
style=“…”
属性内联样式,您将获得更好的兼容性:

<body>
<p style="text-align:center;text-indent:0pt;margin:0pt 0pt 0pt 0pt">
    <span style="color:#800080;background-color:transparent;font-family:Arial;font-size:8pt;font-weight:bold;font-style:normal;">Форматированый текст</span>
</p>
</body>

Форматированый текст


这可能会带来很多重复,所以如果你有很多样式损坏的元素,请考虑使用一个自动的方法来嵌入样式。

我不确定标记是用HTML代码来工作的,用“代码”>邮件消息< /C> >你建议用图片发送电子邮件格式化文本的其他方法吗?做道格拉斯@所说的。这是唯一的方法。大多数电子邮件客户端可以在HTML中显示嵌入的图像。四处搜索如何实现这一点(或找到一个自动化的库)。谢谢,我会考虑如何实现它。请查看此。。这是一个内联css的库
<body>
<p style="text-align:center;text-indent:0pt;margin:0pt 0pt 0pt 0pt">
    <span style="color:#800080;background-color:transparent;font-family:Arial;font-size:8pt;font-weight:bold;font-style:normal;">Форматированый текст</span>
</p>
</body>