Image 使用带有嵌入图像的经典ASP发送电子邮件

Image 使用带有嵌入图像的经典ASP发送电子邮件,image,email,asp-classic,send,Image,Email,Asp Classic,Send,我正在使用所见即所得编辑器制作时事通讯。。它允许我上传图像路径 图像路径存储在上传目录中。。 当我使用它在网站中工作的方式检索该图像时,情况并非如此。。 编辑器的值存储在数据库中 实例 您好 <img src="upload/acb.gif"> <br> 你好 我正在发送电子邮件,此电子邮件的详细信息来自数据库 并将此详细信息发送给访客 他正在获取所有文本值,但无法看到图像 因此,建议我怎么做?您使用什么发送电子邮件,我过去使用AspEmail取得了成功: 这里

我正在使用所见即所得编辑器制作时事通讯。。它允许我上传图像路径 图像路径存储在上传目录中。。 当我使用它在网站中工作的方式检索该图像时,情况并非如此。。 编辑器的值存储在数据库中 实例

您好

<img src="upload/acb.gif">

<br>


你好

我正在发送电子邮件,此电子邮件的详细信息来自数据库 并将此详细信息发送给访客

他正在获取所有文本值,但无法看到图像


因此,建议我怎么做?

您使用什么发送电子邮件,我过去使用AspEmail取得了成功:

这里介绍了如何发送嵌入式图像:


但是,您必须将其安装到您的服务器上,如果您使用共享主机,这可能是一个问题,如果您运行自己的服务器非常容易

您必须将站点url添加到img源

因为用户不是从他的邮箱访问您的站点

为此,您可以在web.config中将“”设置为密钥,并在邮件中使用


这肯定会解决你的问题。快乐编码

如果您使用CDOSYS.Message发送电子邮件,则可以使用Message.CreateMHTMLBody(url)方法轻松发送包含嵌入图像的完整网页


我最近清理了一些代码,把它作为github的“要点”放到了网上;希望它还能帮助别人

此解决方案使用带有“AddAttachment”的CDO(CDOSYS/CDO.Message),并手动控制附件的属性,以使其在电子邮件HTML中可用,并避免在电子邮件客户端中显示为单独可下载的附件

用法非常简单,只需通过消息HTML中的本地路径(在运行代码的计算机上)引用图像,例如:

Some Image: <img src="<EMBEDDEDIMAGE:C:\test.jpeg>" />
一些图像:“/>

代码将拾取文件名,将文件作为附件添加到邮件中,并将邮件HTML的相关部分替换为该附件的内部引用。

您将使用AddRelatedBodyPart:

嵌入用法 创建数组并将其作为参数传递到“SendMail”函数中 在电子邮件正文中使用,例如

Dim arrRelatedBodyPart(1)
arrRelatedBodyPart(0) = Server.MapPath(".") & "/images/barcode/bar_blk.gif"
arrRelatedBodyPart(1) = Server.MapPath(".") & "/images/barcode/bar_wht.gif"
示例

For i = 0 To UBound(arrRelatedBodyPart)
    Dim strPathAndFileName: strPathAndFileName = arrRelatedBodyPart(i)
    Dim strFileName: strFileName = GetFileName(arrRelatedBodyPart(i), "/")
    '.AddRelatedBodyPart strPathAndFileName, strFileName, cdoRefTypeId

    Set objCDOBodyPart = .AddRelatedBodyPart(strPathAndFileName, strFileName, 1)
    objCDOBodyPart.Fields.Item("urn:schemas:mailheader:Content-ID") = "<" & strFileName & ">"
    objCDOBodyPart.Fields.Update
Next
i=0至UBound(arrRelatedBodyPart)的

Dim strPathAndFileName:strPathAndFileName=ArrrRelatedBodyPart(i)
Dim strFileName:strFileName=GetFileName(arrrrelatedbodypart(i),“/”)
'.AddRelatedBodyPart strPathAndFileName、strFileName、cdoRefTypeId
设置objCDOBodyPart=.AddRelatedBodyPart(strPathAndFileName,strFileName,1)
objCDOBodyPart.Fields.Item(“urn:schemas:mailheader:Content ID”)=“”
objCDOBodyPart.Fields.Update
下一个
For i = 0 To UBound(arrRelatedBodyPart)
    Dim strPathAndFileName: strPathAndFileName = arrRelatedBodyPart(i)
    Dim strFileName: strFileName = GetFileName(arrRelatedBodyPart(i), "/")
    '.AddRelatedBodyPart strPathAndFileName, strFileName, cdoRefTypeId

    Set objCDOBodyPart = .AddRelatedBodyPart(strPathAndFileName, strFileName, 1)
    objCDOBodyPart.Fields.Item("urn:schemas:mailheader:Content-ID") = "<" & strFileName & ">"
    objCDOBodyPart.Fields.Update
Next