[英]Send Email Using Classic ASP with an Embeded Image
我正在使用所见即所得的编辑器制作NewsLetter ..它允许我上传图像路径,并且图像路径存储在上载目录中。.不是当我使用它在网站上检索该图像时..编辑器的值存储在数据库示例中<br>
嗨
<img src="upload/acb.gif">
<br>
你好
我正在发送电子邮件,并且已从数据库接收到此电子邮件的详细信息,并将此详细信息发送给访问者
他正在获取所有文本值,但看不到图像
所以建议我该怎么办..?
如果使用CDOSYS.Message发送电子邮件,则可以使用Message.CreateMHTMLBody(url)方法轻松地发送带有嵌入式图像的完整网页。
Dim Message
Set Message = CreateObject("CDOSYS.Message")
Message.From = "from@email.org"
Message.To = "to@email.org"
Message.CreateMTHMLBody "http://yourserver.org/email.html"
Message.Send()
我最近清理了一些我要做的代码,并在github上以“ Gist”的形式在线拍了拍; 希望它能对某人有所帮助!
此解决方案使用带有“ AddAttachment”的CDO(CDOSYS / CDO.Message),并手动控制附件的属性,以使附件在电子邮件HTML中可用,并避免它们在电子邮件客户端中显示为可单独下载的附件。
用法非常简单,只需通过消息HTML中的本地路径(在运行代码的计算机上)引用图像,例如:
Some Image: <img src="<EMBEDDEDIMAGE:C:\test.jpeg>" />
该代码将选择文件名,将文件添加为邮件的附件,并使用对该附件的内部引用替换邮件HTML的相关部分。
您必须将网站网址添加到img源
<img src =“ http://www.sitename.com/upload/acb.gif”>,因为用户没有从他的邮箱访问您的网站。
为此,您可以在web.config中将“ http://www.sitename.com/ ”设置为密钥,并在邮件中使用。
这肯定会解决您的问题。 祝您编码愉快!
您将使用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
您使用什么来发送电子邮件,过去我使用AspEmail取得了成功: http : //www.aspemail.com/
它说明了如何在此处发送嵌入的图像: http : //www.aspemail.com/manual_04.html
但是,如果您使用共享主机,则必须将其安装在服务器上,如果您很容易地运行自己的服务器,则可能会出现问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.