
对于构建电子邮件通信应用的开发人员来说,电子邮件渲染对于确保通过应用发送的电子邮件在不同的电子邮件客户端、设备和设置中正确且一致地显示至关重要。为了有效地执行此任务,Aspose.Email for .NET 提供了多功能的 HTML 格式化和自定义电子邮件内容的功能。在本文中,我们将探讨如何使用 C# 代码示例以 HTML 格式呈现电子邮件内容,包括多种自定义选项,以便在不同的电子邮件客户端或浏览器中正确显示。
C# API 渲染 HTML 中的电子邮件
我们将用于将 .eml 或 .msg 消息渲染为 HTML 格式的 API 是一个全面库的一部分,该库为开发人员提供了强大的工具,以便在 .NET 应用程序中创建、操作和渲染电子邮件消息。Aspose.Email for .NET 使开发人员能够高效地处理其 C# 应用程序中的各种电子邮件相关任务,使其成为电子邮件处理需求的宝贵资源。
要开始使用该库,您需要将其集成到您的项目中。您可以通过 从 Aspose 网站下载 或使用 NuGet 轻松获得它。
基本电子邮件渲染
让我们从一个基本示例开始,使用 C# 在 HTML 格式中渲染电子邮件。此代码片段演示了如何从文件加载电子邮件消息、指定 HTML 格式选项,并将消息保存为 HTML 格式。
- 创建一个 HtmlSaveOptions 的实例,以指定格式偏好。HtmlFormatOptions.WriteHeader 确保标题包含在输出的 HTML 文件中。
- 使用 MailMessage.Load 从文件加载电子邮件消息。
- 最后,使用 Save 方法将消息保存为 HTML 格式。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader | |
}; | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
因此,消息的 HTML 内容将如下所示:

自定义标题显示
接下来,让我们探索如何 自定义电子邮件标题的显示。以下代码示例演示了如何在以 HTML 格式渲染电子邮件之前,移除特定标题,例如主题。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader | |
}; | |
options.RenderingHeaders.Remove("Subject"); | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
在这里,我们修改 HtmlSaveOptions 的 RenderingHeaders 集合,以从渲染的 HTML 输出中排除主题标题。

格式化日期和时间
时间戳通常需要格式化以确保清晰和一致。以下代码示例演示了如何 自定义日期和时间格式,以便在以 HTML 格式渲染电子邮件之前。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader, | |
FormatTemplates = | |
{ | |
[MhtTemplateName.DateTime] = "ddd, d MMM yyyy hh:mm" | |
} | |
}; | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
通过使用 FormatTemplates 属性指定自定义日期和时间格式,我们确保时间戳以用户友好的方式呈现。

本地化和翻译
本地化对于确保电子邮件字段名称对全球受众可访问至关重要。此示例演示了如何通过用翻译等效词替换标准术语来 本地化电子邮件标题名称。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader | |
}; | |
options.FormatTemplates[MhtTemplateName.From] = options.FormatTemplates[MhtTemplateName.From].Replace("From:", "De :"); | |
options.FormatTemplates[MhtTemplateName.Sent] = options.FormatTemplates[MhtTemplateName.Sent].Replace("Sent:", "Envoyé :"); | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
在这里,我们将英语标题标签替换为法语等效词,以满足讲法语的受众。

样式化电子邮件内容
样式在提升电子邮件内容的视觉吸引力方面起着至关重要的作用。下面的代码示例演示了如何在以 HTML 格式渲染之前对电子邮件内容应用 自定义 CSS 样式。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader | |
}; | |
int index = options.CssStyles.IndexOf("</style>"); | |
options.CssStyles = options.CssStyles.Insert(index, @" | |
.headerLineTitle | |
{ | |
font-family:""Calibri""; | |
font-size:18.0pt; | |
}"); | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
通过将自定义 CSS 规则插入到 HTML 输出中,我们可以增强电子邮件消息的美学和品牌形象。

高级格式化技术
最后,让我们探索电子邮件渲染的高级格式化技术。代码示例演示了如何 定义自定义表格布局以在 HTML 格式中显示电子邮件标题。
var options = new HtmlSaveOptions | |
{ | |
HtmlFormatOptions = HtmlFormatOptions.WriteHeader, | |
BeforeHeadersFormat = "<table style=\"width: 800px; background-color: #dddddd\">", | |
DefaultHeaderFormat = "<tr><td style=\"vertical-align: top; width:150px\"><b>{0}:</b></td><td style=\"vertical-align: top; width:150px\">{{0}}</td></tr>", | |
AfterHeadersFormat = "</table>" | |
}; | |
var msg = MailMessage.Load(fileName); | |
msg.Save(outFileName, options); |
通过为标题部分定义自定义 HTML 标记,包括表格布局,我们可以创建视觉上引人注目的电子邮件模板。

结论
在本教程中,我们探讨了如何使用 Aspose.Email for .NET 在 HTML 格式中渲染电子邮件内容。此工具确保电子邮件在各种客户端和设备中正确显示,这对于构建电子邮件通信应用的开发人员来说是一项至关重要的任务。我们从基本的电子邮件渲染开始,展示了如何加载和保存 HTML 格式的电子邮件。然后,我们自定义了标题,例如移除主题行,并格式化时间戳以确保清晰和一致。
我们还涵盖了本地化和翻译,展示了如何将标准电子邮件字段名称替换为本地化版本,以满足全球受众的需求。我们应用了自定义 CSS 样式,以增强电子邮件的视觉吸引力,确保它们既功能齐全又美观。最后,我们探讨了高级格式化技术,包括为电子邮件标题定义自定义 HTML 布局,以创建视觉上引人注目的模板。这些技术使开发人员能够使用 Aspose.Email for .NET 制作高度自定义和专业的电子邮件内容。
借助 Aspose.Email for .NET,开发人员可以高效地管理各种电子邮件处理需求,确保他们的应用程序为用户提供无缝和精致的电子邮件体验。
有关更多支持和资源,Aspose 提供了全面的 文档、广泛的 API 参考 和各种免费的在线工具和 应用 以增强您的开发过程。开发人员还可以访问免费的 支持论坛 以获取社区帮助和见解,并通过 Aspose 博客 随时了解最新的提示和教程。这些资源对于最大化 Aspose.Email for .NET 在您的项目中的潜力至关重要。