Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用vb.net嵌入未在emaill中显示的图像_Asp.net_Vb.net_Image_System.net.mail - Fatal编程技术网

Asp.net 使用vb.net嵌入未在emaill中显示的图像

Asp.net 使用vb.net嵌入未在emaill中显示的图像,asp.net,vb.net,image,system.net.mail,Asp.net,Vb.net,Image,System.net.mail,我试图显示一个嵌入在电子邮件正文中的图像。发送的是图像,但是没有图像 代码如下: Dim mail As New MailMessage() mail.[To].Add("siu07aj@reading.ac.uk") mail.From = New MailAddress("atiqisthebest@hotmail.com") mail.Subject = "Test Email" Dim Body As String = "<b>Welcome to codedige

我试图显示一个嵌入在电子邮件正文中的图像。发送的是图像,但是没有图像

代码如下:

Dim mail As New MailMessage()

mail.[To].Add("siu07aj@reading.ac.uk")

mail.From = New MailAddress("atiqisthebest@hotmail.com")

mail.Subject = "Test Email"


Dim Body As String = "<b>Welcome to codedigest.com!!</b><br><BR>Online resource for .net articles.<BR><img alt="""" hspace=0 src=""cid:imageId"" align=baseline border=0 >"

Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(Body, Nothing, "text/html")

Dim imagelink As New LinkedResource(Server.MapPath(".") & "\uploads\CIMG1443.JPG", "image/jpg")

imagelink.ContentId = "imageId"

imagelink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64

htmlView.LinkedResources.Add(imagelink)

mail.AlternateViews.Add(htmlView)

Dim smtp As New SmtpClient()

smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis
smtp.Host = ConfigurationManager.AppSettings("SMTP")
smtp.Port = 587
'smtp.EnableSsl = True

smtp.Credentials = New System.Net.NetworkCredential(ConfigurationManager.AppSettings("FROMEMAIL"), ConfigurationManager.AppSettings("FROMPWD"))

smtp.Send(mail)
Dim mail As New MailMessage()
邮件。[收件人]。添加(“siu07aj@reading.ac.uk")
mail.From=新邮件地址(“atiqisthebest@hotmail.com")
mail.Subject=“测试电子邮件”
Dim Body As String=“欢迎来到codedigest.com!!

在线资源获取.net文章。
” Dim htmlView As AlternateView=AlternateView.createAlternateView-FromString(正文,无任何内容,“文本/html”) Dim imagelink作为新的LinkedResource(Server.MapPath(“.”&“\uploads\CIMG1443.JPG”,“image/JPG”) imagelink.ContentId=“imageId” imagelink.transferncode=System.Net.Mime.transferncode.Base64 htmlView.LinkedResources.Add(imagelink) mail.AlternateViews.Add(htmlView) Dim smtp作为新的SmtpClient() smtp.DeliveryMethod=SmtpDeliveryMethod.PickupDirectoryFromIis smtp.Host=ConfigurationManager.AppSettings(“smtp”) smtp.Port=587 'smtp.EnableSsl=True smtp.Credentials=New System.Net.NetworkCredential(ConfigurationManager.AppSettings(“FROMEMAIL”)、ConfigurationManager.AppSettings(“FROMPWD”)) smtp.Send(邮件)
在电子邮件正文中,仅显示以下内容:

欢迎访问CodeDigest.Com

你知道我怎样才能显示CIMG1443.JPG吗


谢谢

您可以尝试通过以下方法将图像转换为base64字符串来内联图像:

Public Function ImageToBase64(image As Image, format As System.Drawing.Imaging.ImageFormat) As String
    If image Is Nothing Then Return ""

    Using ms As New MemoryStream()
        ' Convert Image to byte[]
        image.Save(ms, format)
        Dim imageBytes As Byte() = ms.ToArray()

        ' Convert byte[] to Base64 String
        Dim base64String As String = Convert.ToBase64String(imageBytes)
        Return base64String
    End Using
End Function
然后,使用如下方式将图像添加到HTML中(其中yourImage是image类的一个实例):

dim imageString=“”
这样,您就可以将图像添加为资源。虽然我必须承认我没有在hmlt电子邮件中尝试过,但这在很多地方对我都有效


萨沙

可惜,我也需要一个答案。:)
dim imageString = "<img src=""data:image/png;base64," + ImageToBase64(yourImage, ImageFormat.Png) + "="" />"