HTML电子邮件中的嵌入图像

时间:2016-07-04 12:24:27

标签: html vb.net image email

我有一个文本文件(htmlText包含要在群发邮件中发送的HTML邮件。文本使用HTML代码标记我的图像,如

<img src='cid:imgheader'/>

我已经按照示例说明如何在我的VB代码中使用LinkedResource,例如

Dim imgHeader As String = "header.jpg"
Dim lnkHeader As LinkedResource = New LinkedResource(imgHeader)
lnkHeader.ContentId = "imgHeader"
Dim av As AlternateView =   AlternateView.CreateAlternateViewFromString(htmlText, Nothing, MediaTypeNames.Text.Html)

av.LinkedResources.Add(lnkHeader)

然而,图像作为附件接收,并未按预期嵌入电子邮件正文中。我错过了什么或做错了什么?我的图像存储在程序的可执行路径中,该程序是控制台应用程序。

2 个答案:

答案 0 :(得分:0)

我可以看到的第一个问题是,您只是将文件名传递给LinkedResource,它需要是图片的实际位置,而 不是 只是文件名。

给这个镜头......

 Dim imageLink As New LinkedResource(PATHTOIMAGE)
 imageLink.ContentId = "myImage"
 Dim altView As AlternateView = AlternateView.CreateAlternateViewFromString("<html><body><img src=cid:myImage/><br>" & htmlText & "</body></html>", Nothing, MediaTypeNames.Text.Html)
 altView.LinkedResources.Add(imageLink)

将其附加到邮件正文...

 YOURMAILMESSAGEOBJECT.AlternateViews.Add(altView)
 YOURMAILMESSAGEOBJECT.IsBodyHtml = True

答案 1 :(得分:0)

我在包括Outlook和各种网络邮件产品在内的多个平台上打开电子邮件,结果相同。我读到我的电子邮件标题中可能遗漏了一些内容。我将继续寻找这条路线,看看是否能解决问题