asp.net - 徽标图像未在 vb.net 中通过邮件发送
问题描述
我也想通过邮件发送图像,但不是附件
以下是我的代码
Sub SenMail()
Dim mail2 As MailMessage = New MailMessage()
mail2.From = New MailAddress("erpnoreplyy@gmail.com")
mail2.To.Add("shahbaz1604a@aptechgdn.net")
mail2.Subject = "test email"
'text/html
'Dim plainview As AlternateView = AlternateView.CreateAlternateViewFromString("this is my text", Nothing, "plain/html")
'Dim htmlview As AlternateView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", Nothing, "text/html")
Dim logo As LinkedResource = New LinkedResource("f:\\logindreuss.gif", MediaTypeNames.Image.Gif)
logo.ContentId = "MyImage"
'logo.ContentId = "logo"
Dim body As String = "" &
"<img src=cid:MyImage width='100px' height='100px' alt='logostring'>"
'"<img src='" & htmlview.ToString() & "' alt='htmlstring'>" &
'"<img src='" & plainview.ToString() & "' alt='plainstring'>"
mail2.IsBodyHtml = True
mail2.Body = body
'htmlview.LinkedResources.Add(logo)
'mail2.AlternateViews.Add(plainview)
'mail2.AlternateViews.Add(htmlview)
'Dim smtp As SmtpClient = New SmtpClient("465.0.0")
Dim av As AlternateView = AlternateView.CreateAlternateViewFromString(body, Nothing, MediaTypeNames.Text.Html)
av.LinkedResources.Add(logo)
Dim smtp As SmtpClient = New SmtpClient()
smtp.Port = 587
smtp.Host = "smtp.gmail.com"
smtp.Credentials = New System.Net.NetworkCredential("erpnoreplyy@gmail.com", "naeem1234")
smtp.EnableSsl = True
smtp.Send(mail2)
End Sub
解决方案
在这里,您可以将图像转换为字节并将其作为 html 传递给邮件正文,如果图像仍未显示,那么您必须在线解码 Base64String 并获得简单的 URI 并放入正文的 img 标签
Dim b_logo = File.ReadAllBytes("C:\Users\yogesh\Pictures\sclhneider.png")
Dim body As String = "<img src='data:image/png;base64," & Convert.ToBase64String(b_logo) & "' />"
推荐阅读
- amazon-web-services - 为什么像 S3 (arn:aws:s3:::) 这样的 IAM 角色语句不适用于 SQS 等其他 AWS 资源?
- selenium - 如何通过“场景大纲示例”传递双引号
- flask - 我想比较数据库中的信息但出错
- xml - Indeed XML Feed 状态检查
- android - 如何观察 Moshi Kotlin 中的意外响应?
- flutter - Flutter InteractiveViewer 使图片高度
- python - Pytorch-lightning 奇怪的错误:实现的方法没有覆盖其父方法
- flutter - 如何在 Flutter 中将社交媒体链接/按钮添加到我的应用程序?
- python - 从 while True 打印值:在 Python 中
- c++ - 为什么 unsigned char 的默认初始化行为与其他数据类型不同?