如何使用 vb.net 在电子邮件中发送图片框
how to send picturebox on e-mail using vb.net
我想使用 vb.net 在电子邮件中发送图片框,但是电子邮件发送时是空的。
这是我的代码
Try
Dim smtp = New SmtpClient("smtp.gmail.com") ' connexion au serveur SMTP Gmail
Dim message As New MailMessage
message.Body = PictureBox1.Container
message.To.Add(txt_adr.Text) ' choisir l'@ du destinataire
'message.Body = corp.Text ' le corps du mail a envoyé
message.From = New MailAddress("*******") ' message from expéditeur
message.Subject = Objet.Text ' le champs objet du mail
'------------ connexion avec le SMTP ---------'
smtp.EnableSsl = True ' activer le chiffremment SSL
smtp.Port = "587" ' accéder au port de connexion du SMTP
smtp.Credentials = New System.Net.NetworkCredential("*******", "*********") ' introduire les paramétres de connexion de l'expéditeur
smtp.Send(message) 'envoyé le mail
MsgBox("Successful")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "erreur d'envoie")
End Try
然后,我尝试使用 html正文,但图像是在附件中发送的,而不是背景,并且没有文字 (txt_objet.text)
这是我的 html 代码
Dim img As LinkedResource
img = New LinkedResource(image_path.Text, "image/jpeg")
img.ContentId = "myimage"
Dim htmlbody As String =
"<html>
<head>
<style>
body {
background-image : url(C:\Users\user\Desktop\Nouveau dossier (2)\img.jpg);
background-position : center center;
}
</style>
<body>
<h1>Picture</h1>
<br><p>" + txt_objet.Text + "</p>
</body>
</html>"
Dim altview As AlternateView = AlternateView.CreateAlternateViewFromString(htmlbody, Nothing, "Text/html")
altview.LinkedResources.Add(img)
'****** affecter cette format à l'email
message.AlternateViews.Add(altview)
message.Body = htmlbody
message.IsBodyHtml = True
首先,将你的图像保存到一个文件中,(如果它已经作为一个文件可用它很好)
第二个,用于在电子邮件正文中发送内联图像。
试试下面的代码:
Dim htmlBody As String = "<html><body><h1>Picture</h1><br><img src=""cid:filename""></body></html>"
Dim avHtml As AlternateView = AlternateView.CreateAlternateViewFromString(htmlBody, Nothing, MediaTypeNames.Text.Html)
Dim inline As LinkedResource = New LinkedResource("filename.jpg", MediaTypeNames.Image.Jpeg)
inline.ContentId = Guid.NewGuid.ToString
avHtml.LinkedResources.Add(inline)
Dim mail As MailMessage = New MailMessage
mail.AlternateViews.Add(avHtml)
Dim att As Attachment = New Attachment(filePath)
att.ContentDisposition.Inline = true
mail.From = New MailAddress("*******")
mail.To.Add(txt_adr.Text)
mail.Subject = Objet.Text
mail.Body = String.Format("<img src=""""cid:{0}"""" />", inline.ContentId)
mail.IsBodyHtml = true
mail.Attachments.Add(att)
我想使用 vb.net 在电子邮件中发送图片框,但是电子邮件发送时是空的。
这是我的代码
Try
Dim smtp = New SmtpClient("smtp.gmail.com") ' connexion au serveur SMTP Gmail
Dim message As New MailMessage
message.Body = PictureBox1.Container
message.To.Add(txt_adr.Text) ' choisir l'@ du destinataire
'message.Body = corp.Text ' le corps du mail a envoyé
message.From = New MailAddress("*******") ' message from expéditeur
message.Subject = Objet.Text ' le champs objet du mail
'------------ connexion avec le SMTP ---------'
smtp.EnableSsl = True ' activer le chiffremment SSL
smtp.Port = "587" ' accéder au port de connexion du SMTP
smtp.Credentials = New System.Net.NetworkCredential("*******", "*********") ' introduire les paramétres de connexion de l'expéditeur
smtp.Send(message) 'envoyé le mail
MsgBox("Successful")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "erreur d'envoie")
End Try
然后,我尝试使用 html正文,但图像是在附件中发送的,而不是背景,并且没有文字 (txt_objet.text)
这是我的 html 代码
Dim img As LinkedResource
img = New LinkedResource(image_path.Text, "image/jpeg")
img.ContentId = "myimage"
Dim htmlbody As String =
"<html>
<head>
<style>
body {
background-image : url(C:\Users\user\Desktop\Nouveau dossier (2)\img.jpg);
background-position : center center;
}
</style>
<body>
<h1>Picture</h1>
<br><p>" + txt_objet.Text + "</p>
</body>
</html>"
Dim altview As AlternateView = AlternateView.CreateAlternateViewFromString(htmlbody, Nothing, "Text/html")
altview.LinkedResources.Add(img)
'****** affecter cette format à l'email
message.AlternateViews.Add(altview)
message.Body = htmlbody
message.IsBodyHtml = True
首先,将你的图像保存到一个文件中,(如果它已经作为一个文件可用它很好)
第二个,用于在电子邮件正文中发送内联图像。
试试下面的代码:
Dim htmlBody As String = "<html><body><h1>Picture</h1><br><img src=""cid:filename""></body></html>"
Dim avHtml As AlternateView = AlternateView.CreateAlternateViewFromString(htmlBody, Nothing, MediaTypeNames.Text.Html)
Dim inline As LinkedResource = New LinkedResource("filename.jpg", MediaTypeNames.Image.Jpeg)
inline.ContentId = Guid.NewGuid.ToString
avHtml.LinkedResources.Add(inline)
Dim mail As MailMessage = New MailMessage
mail.AlternateViews.Add(avHtml)
Dim att As Attachment = New Attachment(filePath)
att.ContentDisposition.Inline = true
mail.From = New MailAddress("*******")
mail.To.Add(txt_adr.Text)
mail.Subject = Objet.Text
mail.Body = String.Format("<img src=""""cid:{0}"""" />", inline.ContentId)
mail.IsBodyHtml = true
mail.Attachments.Add(att)