首页 > 解决方案 > 如何使用 C# 发送电子邮件 html 模板?

问题描述

我有一个向用户发送电子邮件警报的 Windows 服务,我创建了一个文件夹,其中包含所有文件和样式,就像普通的 html 一样。

在此处输入图像描述

在 Email.html 的属性中,我选择了总是复制。

为了在我的方法中读取该文件,我使用了这个:

var path = AppDomain.CurrentDomain.BaseDirectory + "EmailTemplate\\Email.html";
string body = File.ReadAllText(path);

并以动态方式替换文本,只需使用body.Replace("#Text#", newString)

要发送我使用的电子邮件:MailMessage

最后的结果是:

在此处输入图像描述

没有使用导入的css,如何加载所有文件?

注意:我用黑线编辑了图像

标签: c#windows-services

解决方案


大多数电子邮件客户端不支持外部样式表。您需要内联 CSS 以使其显示。

如果您不想手动转换,MailChimp 有一个我过去使用过的内联 CSS 转换器。还有其他实用程序/工具。


推荐阅读