在电子邮件中发送HTML

时间:2012-09-02 20:24:13

标签: c# .net html-email embedding

我需要我的.NET桌面应用程序能够发送各种HTML邮件,允许用户创建自定义模板,包括图像和可能的CSS样式(如果他们从其他来源复制/粘贴HTML)。

从我一直在阅读的内容来看,并非那么简单:

  • 需要嵌入图片,并将其链接替换为内容ID
  • 包含图片的CSS样式也需要修复
  • 背景颜色/图片不起作用,最好将邮件包装在表格中并将CSS应用到它
  • SMTP服务器可以将以点开头的行解释为“传输结束”,因此必须至少向所有此类行添加空格
  • 谁知道还有什么

我的问题是:

  1. 还有什么我应该照顾的吗?
  2. 是否有一个库已经这样做,所以我不重新发明?

2 个答案:

答案 0 :(得分:3)

我能想到的一件事是,对那些邮件客户端不能/不会接受HTML电子邮件(或者它们已经关闭)的收件人使用Alternate views。通过这种方式,他们将获得纯文本版本,如果他们决定要查看它,您可以在网络上包含指向html版本的链接。

我还听说不包括纯文本版本增加了被标记为垃圾邮件的可能性 - 这是因为许多邮件过滤器比较了邮件的纯文本和html版本;如果它们差别太大,那对你来说不是一个好兆头: - )

其他垃圾邮件指标包括html邮件,其中包含的图片多于文本,并且通常是草率的html - 破坏的css,错误的链接,缺少的标签等 - 在发送之前考虑使用某种标记验证器。

答案 1 :(得分:0)

我找到了以下CodeProject文章,该文章介绍了如何将各种图像资源嵌入到邮件中:

它有一些有用的例子,虽然它似乎没有包含备用纯文本视图,所以我将不得不添加它。

遗憾的是,没有人把一个自动完成这个工作的库放在一起。