在使用 SQL Server 数据库邮件创建的电子邮件中嵌入图像
-
09-06-2019 - |
题
我正在仅在 SQL Server 中开发电子邮件解决方案,该解决方案将使用数据库邮件发送 HTML 格式的电子邮件。问题是 HTML 中的图像需要嵌入到外发电子邮件中。如果我使用 .net 应用程序来生成和发送电子邮件,这不会成为问题,但不幸的是,我只有 SQL Server。
SQL Server 是否可以自行嵌入图像?
解决方案
是的,您需要做的是将图像作为附件包含在内,然后就可以在 HTML 中引用它们。
使用 @file_attachment
的参数 sp_send_dbmail
其他提示
你有两种可能性:
- (简单)将图像托管在某处,并在
<img src="...">
. - (困难)用 Base64 对它们进行编码,并使用已知的内容 ID 构建多部分 MIME 消息,以便可以通过以下方式在消息正文中引用它们
cid:
URI。
每种可能性都有其缺点:
- 为了隐私起见,远程图像可能不会加载到现代电子邮件客户端上。
- 可能会提高垃圾邮件分数。
当接收客户端在您的控制之下时(例如同一组织),您可能对这两种方式都同样满意。
您可以尝试将图像编码为 base64 并直接在电子邮件中的 img 标签中引用它( <img src="data:image/png;base64[your encoded image here...]
)但我认为大多数电子邮件客户端将这种技术与垃圾邮件联系起来。我认为您最好引用托管图像或简单地将其附加到电子邮件中。
不隶属于 StackOverflow