【问题标题】:Embed Images in emails created using SQL Server Database Mail在使用 SQL Server 数据库邮件创建的电子邮件中嵌入图像
【发布时间】:2010-09-07 08:24:35
【问题描述】:

我正在开发一个仅在 SQL Server 中的电子邮件解决方案,该解决方案将使用数据库邮件发送 HTML 格式的电子邮件。问题是 HTML 中的图像需要嵌入到外发电子邮件中。如果我使用 .net 应用程序来生成和发送电子邮件,这不会有问题,但不幸的是,我只有 SQL Server。

SQL Server 是否可以自己嵌入图像?

【问题讨论】:

    标签: sql-server database email


    【解决方案1】:

    你有两种可能:

    1. (简单)将图像托管在某处,并在<img src="..."> 中引用它们。
    2. (困难)将它们编码为 Base64 并构建具有已知内容 ID 的多部分 MIME 消息,以便可以通过 cid: URI 在消息正文中引用它们。

    每种可能性都有其缺点:

    1. 出于隐私考虑,现代电子邮件客户端可能无法加载远程图像。
    2. 可能会提高垃圾邮件得分。

    当接收客户在您的控制之下(例如,同一组织)时,您可能对任何一种方式都同样适用。

    【讨论】:

      【解决方案2】:

      是的,您需要做的是将图像作为附件包含在内,然后它们可以在 HTML 中引用。

      使用sp_send_dbmail@file_attachment参数

      【讨论】:

      • 我想知道将这个答案标记为最佳答案的人是否真的在此基础上构建了一个可行的解决方案。信息显然不足:人们应该如何参考这些图像?如何使用 MSSQL Database Mailer 构建一个合适的多部分 MIME 电子邮件?
      【解决方案3】:

      您可以尝试将图像编码为 base64 并直接在电子邮件 (<img src="data:image/png;base64[your encoded image here...]) 中的 img 标签中引用它,但我认为大多数电子邮件客户端将此技术与垃圾邮件相关联。我认为您最好参考托管图像或简单地将其附加到电子邮件中。

      【讨论】:

      • 很晚了,但恐怕不好。 campaignmonitor.com/blog/how-to/2008/08/…
      • 这适用于独立的 HTML 页面,但不适用于 HTML 电子邮件。似乎需要一个适当的多部分 MIME 电子邮件,并将图像作为单独的部分附加。
      猜你喜欢
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2011-10-06
      • 2015-01-29
      相关资源
      最近更新 更多