2017-03-15 11 views
0

画像が埋め込まれたメールを送信しようとしていますが、これを見つけて試しましたが、メールの送信に失敗しました。画像を添付したメールの送信方法

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 

誰もこれについて私を助けることができますか?

+0

をあなたが "添付" と言います。これは、添付ファイルを追加するか、HTMLに含めることを意味しますか?いずれにしても、使用する必要があると思われるコードを表示し、使用時に何が起こるか正確に教えてください。つまり、エラーが発生した場合は、エラーメッセージを表示してください。 – jmcilhinney

+0

大丈夫です。私は後に私の質問を改訂します。 –

+0

私は別のコードを試しました。 –

答えて

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() 

私はいくつかのコードを変更し、追加することによってそれを解決:

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) 
関連する問題