我需要我的 .NET 桌面应用程序能够发送各种 HTML 邮件,允许用户创建自定义模板,包括图像和可能的 CSS 样式(如果他们从其他来源复制/粘贴 HTML)。
从我一直在阅读的内容来看,事情并没有那么简单:
- 需要嵌入图像并将其链接替换为内容 ID
- 包含图像的 CSS 样式也需要修复
- 背景颜色/图像不起作用,最好将邮件包装在表格中并对其应用 CSS
- SMTP 服务器可以将以点开头的行解释为“传输结束”,因此至少必须在所有此类行中添加一个空格
- 谁知道还有什么
我的问题是:
- 还有什么我需要注意的吗?
- 是否有一个图书馆已经这样做了,这样我就不用重新发明了?
最佳答案
我能想到的一件事,利用Alternate views对于那些邮件客户端不能/不会接受 HTML 电子邮件(或者他们已将其关闭)的收件人。这样他们就会得到一个纯文本版本,如果他们决定要查看它,您可以在其中包含指向在线 html 版本的链接。
我还听说,不包含纯文本版本会增加您被标记为垃圾邮件的可能性 - 这是因为许多邮件过滤器会比较邮件的纯文本和 html 版本;如果它们差异太大,那对你来说不是一个好兆头:-)
其他垃圾邮件指标包括图片多于文本的 html 邮件,以及通常草率的 html - 损坏的 css、错误链接、缺少标签等 - 考虑在发送前使用某种标记验证器。
关于c# - 在电子邮件中发送 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12239477/