在使用SQL Server数据库邮件创建的电子邮件中嵌入图像

时间:2020-03-05 18:45:26  来源:igfitidea点击:

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

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

解决方案

回答

我们可以尝试将图像编码为base64并直接在电子邮件中的img标签中引用它(<img src =" data:image / png; base64 [此处是我们编码的图像...]),但是我认为大多数电子邮件客户将此技术与垃圾邮件相关联,我认为最好不要引用托管图像或者将其添加到电子邮件中。

回答

是的,我们需要做的是将图像作为附件包含在内,然后可以在HTML中对其进行引用。

使用sp_send_dbmail@ file_attachment参数

回答

我们有两种可能性:

  • (简单)将图像托管在某个地方,然后在<img src =" ...">中引用它们。
  • (困难)在Base64中对它们进行编码,并使用已知的内容ID构建多部分的MIME消息,因此可以通过cid:URI在消息主体中对其进行引用。

每种可能性都有其缺点:

  • 出于隐私目的,可能不会在现代电子邮件客户端上加载远程图像。
  • 可能会提高垃圾邮件得分。

当接收方的客户处于控制权(例如同一组织)中时,两种方法都可以满足要求。