2017-03-15 1 views
0

J'essaye d'envoyer un email avec une image intégrée et j'ai trouvé ceci et ai essayé mais j'obtiens une erreur d'envoi d'email échoué.Comment envoyer un email avec une image

Try 
     Dim strMsg As String = Nothing 

     Dim img1 As LinkedResource = New LinkedResource("C:\Users\myname\Desktop\Login.jpg", MediaTypeNames.Image.Jpeg) 
     Dim img2 As LinkedResource = New LinkedResource("C:\Users\myname\Desktop\Login.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("[email protected]") 
     mail.Bcc.Add("[email protected]") 
     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 

Quelqu'un peut-il me aider à ce sujet?

+0

Vous dites "attaché". Cela signifie-t-il que vous voulez ajouter une pièce jointe ou l'inclure dans le code HTML? Quoi qu'il en soit, montrez-nous le code que vous pensez devoir utiliser et dites-nous exactement ce qui se passe lorsque vous l'utilisez, c'est-à-dire si vous obtenez une erreur, donnez-nous le message d'erreur. – jmcilhinney

+0

Ok monsieur. Je vais réviser ma question après. –

+0

J'ai essayé d'autres codes monsieur. –

Répondre

0
Dim strMsg As String = Nothing 
    Dim img1 As LinkedResource = Nothing 

    Try 
     img1 = New LinkedResource("C:\For Guidance System\header.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("[email protected]", "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() 

Je l'ai résolu simplement en modifiant et en ajoutant des codes:

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