将图像嵌入电子邮件正文问题 [英] Embed Image to email Body problem
本文介绍了将图像嵌入电子邮件正文问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Dim mMailmessage As New MailMessage
Dim mSmtpClient As New SmtpClient("......")
mSmtpClient.EnableSsl = True
Dim body1 As String = ""
body1 += "<table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td style='border-bottom-color:#333; border-bottom-width:1px; border-bottom-style:solid;'><img src='http://eyemails.com/mail/logo.jpg' width='150' height='41' /></td><td valign='bottom' style='border-bottom-color:#333;border-bottom-width:1px; border-bottom-style:solid;'><table border='0' align='right' cellpadding='0' cellspacing='2'><tr valign='top'><td align='right'><span style='font-size:11px; font-family:Arial;'> Keep In Touch </span></td><td align='right'><img src='http://eyemails.com/mail/fb.gif' width='16' height='16'></td><td align='right' style='font-size:11px; font-family:Arial;color:#C00000; padding-removed4px;'>eyemails</td><td align='right'><img src='http://eyemails.com/mail/twit.gif' width='16' height='16'></td><td align='right' style='font-size:11px; font-family:Arial;color:#C00000; padding-removed4px;'>@eyemails</td><td align='right'><img src='http://eyemails.com/mail/in.jpg' width='16' height='16'></td><td align='right' style='font-size:11px; font-family:Arial;color:#C00000;'>eyemails</td></tr></table></td></tr></table><table width='500' border='0' cellspacing='0' cellpadding='0'><tr><td height='50'> </td></tr><tr><td style='font-family:Arial, sans-serif; font-size:13px; color:#333333'>Dear 123,<br /><br />Greetings From Eyemails,<br /><br />Kindly check below the Full Statistics Statement of your all E-mail Shot Campaigns :<br /><br /><br /><tr><td align='center'>"
body1 += body
body1 += "</td></tr><tr><td><br /><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'>Hope you had a fruitful campaigns.</span><br /><br /><span style='font-size:9.0pt;font-family:Arial,sans-serif;color:#333333'>Kind Regards,</span><span style='font-size:12.0pt;font-family:Times New Roman,serif;color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='color:#CA2E34'>Eyemails Team<br /></span><span style='font-size:8.0pt;font-family:Arial,sans-serif;color:#333333'>Increase revenue, Boost sales, Generate leads, Target potential clients, Build brand awareness<br>Generate website - facebook page visitors, Expand its industry & business market | Customer Service<br><br></span><span style='font-size:9.0pt;font-family:Arial,sans-serif;color:#CA2E34'>E</span><span style='font-size:9.0pt;font-family:Arial,sans-serif;color:#333333'>: <a href='mailto:support@eyemails.com' style='text-decoration:none; color:#333333'>support@eyemails.com</a> | </span><span style='font-size:9.0pt;font-family:Arial,sans-serif;color:#CA2E34'>Web</span><span style='font-size:9.0pt;font-family:Arial,sans-serif;color:#333333'>: <a href='http://eyemails.com/' style='text-decoration:none; color:#333333'>www.eyemails.com </a></span><br></td></tr></table>"
Try
' mMailmessage.From = New MailAddress(clt_email.Text.Trim.ToLower.Replace("'", "''"))
mMailmessage.From = New MailAddress(".......")
mMailmessage.Headers.Add("Content-Type", "multipart/related")
mMailmessage.Headers.Add("Content-Disposition", "inline")
Dim pathof As String = ""
Dim typeofimg As String = ""
Dim i = 0
Dim regexImgSrc As String = "<img[^>]*?src\s*=\s*[""']?([^'"" >]+?)[ '""][^>]*?>"
Dim matchesImgSrc As MatchCollection = Regex.Matches(body, regexImgSrc, RegexOptions.IgnoreCase Or RegexOptions.Singleline)
Dim htmlContent As AlternateView = AlternateView.CreateAlternateViewFromString(body1, Nothing, "text/html")
Dim image(matchesImgSrc.Count) As Object
For Each m As Match In matchesImgSrc
Dim href As String = m.Groups(1).Value
If Not href.StartsWith("http:") Then
pathof = Path.GetExtension(href)
Select Case pathof
Case (".jpg")
typeofimg = "image/jpeg"
Exit Select
Case (".png")
typeofimg = "image/png"
Exit Select
Case (".gif")
typeofimg = "image/gif"
Exit Select
Case (".ico")
typeofimg = "image/x-icon"
Exit Select
End Select
image(i) = New LinkedResource(href, typeofimg)
image(i).ContentId = "Image" & i.ToString
image(i).TransferEncoding = Net.Mime.TransferEncoding.Base64
htmlContent.LinkedResources.Add(image(i))
body1 = body1.Replace(href, "cid:Image" & i.ToString)
i = i + 1
End If
Next
mSmtpClient.Credentials = New System.Net.NetworkCredential(".....", "....")
mSmtpClient.Port = "587"
mMailmessage.Subject = "587"
mMailmessage.IsBodyHtml = True
mMailmessage.AlternateViews.Add(htmlContent)
mMailmessage.Body = Nothing
mMailmessage.Priority = MailPriority.High
mSmtpClient.Send(mMailmessage)
Catch ex As Exception
Response.Write(ex.StackTrace)
Finally
If Not mMailmessage Is Nothing Then
mMailmessage = Nothing
End If
If Not mSmtpClient Is Nothing Then
mSmtpClient = Nothing
End If
End Try
你能帮我说清楚原因吗?在这段代码中:
为什么图像不是嵌入式发送的,收到后不会在邮件正文中查看?
Can you help me know the reason in this code :
why the images are not sent embedded and is not viewed in the body of mail when received?
推荐答案
你'在添加到LinkedResources之前添加Linkedsourceobject.ContentType属性。检查以下示例代码。
You've to add Linkedsourceobject.ContentType property before you adding into LinkedResources. Check the following sample codes.
Dim htmlview As AlternateView = AlternateView.CreateAlternateViewFromString(txtMessage.Text, Nothing, "text/html")
Dim img1 As New LinkedResource("Yourpath\IMG1.jpg")
img1.ContentId = "IMG1"
img1.ContentType = New ContentType("image/html")
htmlview.LinkedResources.Add(img1)
问候,
BlueSathish
Regards,
BlueSathish
这篇关于将图像嵌入电子邮件正文问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文