首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像嵌入到CDO.Message电子邮件

将图像嵌入到CDO.Message电子邮件
EN

Stack Overflow用户
提问于 2012-06-06 04:52:55
回答 4查看 5K关注 0票数 0

我正在用ASP和CDO用CreateMHTMLBody方法发送电子邮件。我的电子邮件中有几张图片,其中一些是静态的,不会改变,但其中一些会根据电子邮件的内容而改变。一些像iCloud这样的邮件软件会将图片显示为附件,尽管我都有完整的路径url地址。我用过AddRelatedBodyPart,但现在他们在你必须要显示的地方显示图像,但他们仍然在附件中显示图像。我希望图片只显示在电子邮件的正文,而不是在附件中。有人知道怎么解决这个问题吗?下面是我的代码示例:

代码语言:javascript
复制
Set myMail=CreateObject("CDO.Message")
myMail.Subject= "Subject of Email"
myMail.From= "from@site.com"
myMail.To= "to@site.com"
myMail.CreateMHTMLBody "http://www.mysite.com/email.html"

strImagePath = Server.MapPath("\") & "\images\mypic1.jpg"
myMail.AddRelatedBodyPart strImagePath, "my_pic_1", 0

strImagePath = Server.MapPath("\") & "\images\mypic2.jpg"
myMail.AddRelatedBodyPart strImagePath, "my_pic_2", 0

myMail.Send
set myMail=nothing

提前感谢您的时间和帮助。

EN

回答 4

Stack Overflow用户

发布于 2012-06-06 04:55:30

为了在电子邮件中包含图像,您必须在邮件的正文中使用内联IMG标记以及图像的完全限定路径(http://...)。不要把它们当做附件。

票数 0
EN

Stack Overflow用户

发布于 2012-06-06 20:40:14

CreateMHTMLBody不是您所需要的。此方法将创建一个多部分消息,获取URL并对返回的HTML进行后处理。它为找到的每个img src获取资源,将返回的资源编码为正文部分,并更新HTML img src以指向正文部分。

此外,在CreateMHTMLBody代码中使用WinINET也不是一件好事,因为它使用Http堆栈来获取资源,不应该在ASP代码中使用WinINET。

您真正需要的是使用WinHTTP之类的东西来获取HTML资源,然后将其分配给消息的HTMLBody属性。

票数 0
EN

Stack Overflow用户

发布于 2015-06-12 06:07:59

我知道这个问题很古老,但也许你(或其他人)仍在寻找答案:

代码语言:javascript
复制
myMail.Configuration.Fields("urn:schemas:httpmail:content-disposition-type")="inline"
myMail.Configuration.Fields.Update

这应该会导致大多数邮件客户端不将图像渲染为附件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10904763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档