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

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

有帮助吗?

解决方案

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

使用 @file_attachment 的参数 sp_send_dbmail

其他提示

你有两种可能性:

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

每种可能性都有其缺点:

  1. 为了隐私起见,远程图像可能不会加载到现代电子邮件客户端上。
  2. 可能会提高垃圾邮件分数。

当接收客户端在您的控制之下时(例如同一组织),您可能对这两种方式都同样满意。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top