【问题标题】:Sending html file with images via email通过电子邮件发送带有图像的 html 文件
【发布时间】:2011-08-27 10:19:03
【问题描述】:

如何在 c# 中发送带有图像的 html 邮件?我可以在我的服务器上设置直接链接到图像(类似<img src="http://mysite.ru/img.png" />)还是我需要附加图像然后使用链接到我的附件?是否有任何示例或准备使用库? css 文件和脚本呢?

【问题讨论】:

  • 可以对电子邮件中的图像使用外部 URL...但是,大多数电子邮件客户端默认会阻止这些图像。使用内联附加图像会更好。
  • 绝对 URL 应该可以正常工作。
  • @jnpcl 大多数客户端也会阻止内联图像。您只是不需要在允许查看后下载它们。

标签: c# html email


【解决方案1】:

可能最好的选择是使用像 MvcMailer 这样的包。

Mvc Mailer 显示以下特点:

MvcMailer 使用 MVC 视图作为电子邮件正文轻松发送电子邮件。以下是功能的快速列表:

a) 使用 Razor/WebForms 视图

b) 使用母版页

c) 编写可测试的代码

d) 使用 ViewBag 或 ViewModel 将值传递给您的视图和

e) 使用 Url.Abs 方法和生成绝对 URL

f) 只需添加视图文件即可创建多部分电子邮件,

g) 为您的邮件搭建支架。 MvcMailer 有一个扩展 ControllerBase 类的 MailerBase 类。

所以,邮件程序就像您的控制器一样。因此,您可以在没有任何学习曲线的情况下使用所有控制器好东西。最终结果是一个具有专业外观的 HTML 电子邮件正文,可供您发送给您的网站用户。

访问项目站点以获取有关 MvcMailer 的综合教程。 https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide

在步骤指南中,您将了解如何使用图像发送电子邮件。

brgds。 塞巴斯蒂安。

【讨论】:

    【解决方案2】:

    http://en.wikipedia.org/wiki/MHTML:

    MHTML 是 MIME HTML 的缩写,是一种网络 用于组合的页面归档格式 通常是资源 由外部链接表示(例如 图像、Flash 动画、Java 小程序、音频文件)以及 HTML 代码到单个文件中。这 MHTML 文件的内容被编码为 如果是 HTML 电子邮件, 使用 MIME 类型 multipart/related。 文件的第一部分通常是 编码的 HTML;随后的部分是 确定的额外资源 他们的原始 URL 和编码在 基数 64。这种格式有时 简称MHT,后缀 默认情况下为此类文件提供 .mht 当由 Microsoft Word 创建时, Internet Explorer 或 Opera。 MHTML 是 一个提议的标准,在一个 1999 年修订版为 RFC 2557。

    更多地了解 MHTML 可能是解决问题的关键。

    【讨论】:

    • 哎哟!我猜,没有一件好事会受到惩罚。无论如何,我承认我最喜欢 Dave 的回答,因为该 systemnetmail 站点上有代码示例等。尽管如此,HTML 电子邮件和 MHTML 是相关的 - 总是很高兴知道幕后发生了什么。
    【解决方案3】:

    如果您直接将链接嵌入到电子邮件中(指向外部服务器),您将被大多数客户端阻止,但用户可以打开它们。

    它们可以以通常的方式嵌入:

    <img src="http://go.com/go.gif" />
    

    如果您需要它默认显示,您需要将图像作为附件嵌入并链接到该附件。

    见:http://www.systemnetmail.com/faq/2.6.aspx

    【讨论】:

      【解决方案4】:

      有多种编码内嵌图像的方法。我们在内部使用 VB.NET,这个站点是一个很好的参考http://www.systemnetmail.com/default.aspx

      【讨论】:

        【解决方案5】:

        对于 CSS,通常使用内联样式并且没有引用文件,另一侧的图像应该只是链接,而不是随电子邮件发送。您只需将邮件内容声明为 html 即可。 JavaScript 也是可用的,我使用它进行一些重新定位。

        【讨论】:

          猜你喜欢
          • 2018-09-26
          • 2013-11-11
          • 2018-09-20
          • 2014-05-31
          • 1970-01-01
          • 1970-01-01
          • 2013-06-01
          • 2022-10-23
          • 2012-04-24
          相关资源
          最近更新 更多