Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用dbmail(SQLServer)存储过程在Gamil的HTML邮件中嵌入图像_Html_Sql Server_Email_Base64_Sp Send Dbmail - Fatal编程技术网

如何使用dbmail(SQLServer)存储过程在Gamil的HTML邮件中嵌入图像

如何使用dbmail(SQLServer)存储过程在Gamil的HTML邮件中嵌入图像,html,sql-server,email,base64,sp-send-dbmail,Html,Sql Server,Email,Base64,Sp Send Dbmail,首先,我想开始我想要的和我的问题是什么,并澄清我正在使用dbmail(SQLServer)进行发送过程,主要问题是我没有让它与Gmail一起工作 我需要发送带有集成图像的邮件(嵌入或附加是唯一的可能性),但如果不将图像链接到专用的图像托管服务器,我似乎无法实现这一点 我曾尝试嵌入base64,但图像有时会包含6000个字符,当我创建的存储过程被执行时,邮件到达时为空,当我检查sysmail_faileeditems表时,它们的body列显示为空值,因此我猜邮件会因为base64映像的长度而被截断

首先,我想开始我想要的和我的问题是什么,并澄清我正在使用dbmail(SQLServer)进行发送过程,主要问题是我没有让它与Gmail一起工作

我需要发送带有集成图像的邮件(嵌入或附加是唯一的可能性),但如果不将图像链接到专用的图像托管服务器,我似乎无法实现这一点

我曾尝试嵌入base64,但图像有时会包含6000个字符,当我创建的存储过程被执行时,邮件到达时为空,当我检查sysmail_faileeditems表时,它们的body列显示为空值,因此我猜邮件会因为base64映像的长度而被截断

当我发送附有图片的电子邮件并在src字段中引用它时,它从未加载到应该加载的位置,它只是作为附件显示。这可能是因为Gmail的安全策略,但在Outlook for desktop中,这种设置可以正常工作

提前谢谢

编辑#1:作为对@AlwaysLearning的回应,我将展示我是如何实现上述方法的

1.附件方式: SQL代码:

 @file_attachments  = 'C:\images\image.jpg'
HTML代码:

 <img src="image.jpg" />  
<img alt="image" width=200 height=86 src="^^IMAGE^^"/>
HTML代码:

 <img src="image.jpg" />  
<img alt="image" width=200 height=86 src="^^IMAGE^^"/>


真正的问题是,这两种方法实际上都适用于某些电子邮件客户端,但不适用于gmail,因此很明显,我缺少一些细节,或者不可能这样做。

向我们展示您尝试过的SQL。嵌入图像最困难的部分是设置一个多部分/相关消息来包含HTML消息体和相关图像,每个图像都有自己的内容ID头。不过,这并不是什么新鲜事,RFC2387从1998年就出现了。嗨@AlwaysLearning,我已经添加了一些我尝试过的例子。