/ / Jak wysłać wiadomość e-mail ze zdjęciem - vb.net, e-mail, załącznik

Jak wysłać e-mail z obrazem - vb.net, e-mail, załącznik

Próbuję wysłać wiadomość e-mail z osadzonym obrazem, znalazłem ją i próbowałem, ale otrzymuję błąd wysłania wiadomości e-mail nie powiodło się.

 Try
Dim strMsg As String = Nothing

Dim img1 As LinkedResource = New LinkedResource("C:UsersmynameDesktopLogin.jpg", MediaTypeNames.Image.Jpeg)
Dim img2 As LinkedResource = New LinkedResource("C:UsersmynameDesktopLogin.jpg", MediaTypeNames.Image.Jpeg)

img1.ContentId = "Image1"
img2.ContentId = "Image2"

Dim mail As New MailMessage()
mail.From = New MailAddress("myemail.com", "password")
"mail.CC.Add("ex@test.com.au")
mail.Bcc.Add("jhaymalagasang@gmail.com")
mail.Subject = "Reports"

mail.Priority = MailPriority.High

strMsg = ""
strMsg = strMsg & "<html><body><p></p>"
strMsg = strMsg & "<table width="70%" border="0" cellpadding="0" cellspacing="0" bgcolor="white">"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td><h2><center><span style="color:#1C8DFF">Example Report</span></center></h2></td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td>&nbsp;</td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td><img src=cid:Image1 alt="image description"></td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td><img src=cid:Image2 alt="image description"></td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "</table></body></html>"



Dim av1 As AlternateView = AlternateView.CreateAlternateViewFromString(strMsg, Nothing, MediaTypeNames.Text.Html)
av1.LinkedResources.Add(img1)
av1.LinkedResources.Add(img2)

mail.AlternateViews.Add (av1) mail.IsBodyHtml = True

        Dim smtp As SmtpClient = New SmtpClient()
smtp.Host = "1.1.1.1" " Whatever is your smtp server
smtp.Port = "25"
smtp.Send(mail)
MsgBox("Email Sent !", MsgBoxStyle.Information, "Success")
Catch ex As Exception
MsgBox("Error in Email" & ex.Message, MsgBoxStyle.Critical, "Email Failed")
End Try

Czy ktoś może mi w tym pomóc?

Odpowiedzi:

0 dla odpowiedzi № 1
    Dim strMsg As String = Nothing
Dim img1 As LinkedResource = Nothing

Try
img1 = New LinkedResource("C:For Guidance Systemheader.jpg", MediaTypeNames.Image.Jpeg)
img1.ContentId = "Image1"
Catch ex As Exception
MsgBox("Error: " + ex.Message + "", MsgBoxStyle.Critical, "Loading logo failed!")
Return IDnums = "" And emailAdd = ""
Exit Function
End Try

Dim mail As New MailMessage()
mail.From = New MailAddress("myemail@gmail.com", "Description")
mail.Bcc.Add(CType(emailAdd.ToString, String))
mail.Subject = "Requested passcode"
mail.Priority = MailPriority.High
strMsg = ""
strMsg = strMsg & "<html><body><p></p>"
strMsg = strMsg & "<table width="70%" border="0" cellpadding="0" cellspacing="0" bgcolor="white">"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td><h2><center><span style="color:#1C8DFF">Header</span></center></h2></td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td>&nbsp;</td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td><img src=cid:Image1 alt=></td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<p>The requested passcode is:    " + final.ToString + "</p>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<td>&nbsp;</td>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<p>If you can"t login, please refer it to the guidance office for further assistance, else you can request again another passcode.</p>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "<tr>"
strMsg = strMsg & "<p>Please do not reply to this email. Thank you and God bless!</p>"
strMsg = strMsg & "</tr>"
strMsg = strMsg & "</table></body></html>"

Dim av1 As AlternateView = AlternateView.CreateAlternateViewFromString(strMsg, Nothing, MediaTypeNames.Text.Html)
av1.LinkedResources.Add(img1)

mail.AlternateViews.Add(av1)
mail.IsBodyHtml = True

Dim smtp As SmtpClient = New SmtpClient()

Rozwiązałem to, modyfikując i dodając kilka kodów:

    smtp.UseDefaultCredentials = False
smtp.Credentials = New System.Net.NetworkCredential("myemail@gmail.com", "password")
smtp.Host = "smtp.gmail.com"
smtp.Port = 587
smtp.EnableSsl = True
smtp.Send(mail)