2012-08-08 116 views
1

發出後我需要發送的HTML內容的電子郵件,如果HTML在電子郵件中的任何image..it dosent顯示UO。圖像不可見的電子郵件,電子郵件是使用.Net.Mail類

我無法將圖像附加到郵件 圖像將被嵌入HTML,這是我從得到一個CMS

我怎樣才能解決這個問題呢?

+0

如果沒有生成電子郵件的HTML,則無法提供幫助。很有可能圖像的路徑是錯誤的,你的圖像不能被外部訪問,或者你的html無效並導致郵件客戶端出現問題。 – JConstantine 2012-08-08 09:20:31

+2

你可以在你的服務器上的圖像,並有像 2012-08-08 09:21:05

+0

塞特希庫馬爾,即工作...謝謝。我怎麼能現在接受烏拉圭回合的答案嗎? – Anuya 2012-08-08 09:31:21

回答

0

在可以未附帶圖像的所有HTML電子郵件,所有圖像必須被放置在一個服務器和在HTML及其全部路徑例如被引用「http://www.yourdomain.com/images/imagename.ext」。外殼是重要的,它是圖像不出現的最常見的原因。

+0

可以很好地嵌入圖片右轉入郵件。 – 2012-11-22 13:17:05

+0

當我說「不能有附加的圖片」我的意思是,如果因任何原因,圖像不能連接到電子郵件。embending圖像是棘手的,不很好地工作一些電子郵件客戶端。我已經做了一些測試,在這些測試中,顯示出精細的圖像,雷鳥,但MSOutlook拒絕在所有的顯示出來。 – ThunderGr 2012-11-22 15:57:40

3

你添加圖片作爲鏈接的資源?下面是一個示例如何執行此操作:http://www.codeproject.com/Articles/34467/Sending-Email-Using-Embedded-Images

using System.Net.Mail; 

string htmlBody = "<html><body><h1>Picture</h1><br><img src=\"cid:Pic1\"></body></html>"; 
AlternateView avHtml = AlternateView.CreateAlternateViewFromString 
    (htmlBody, null, MediaTypeNames.Text.Html); 

// Create a LinkedResource object for each embedded image 
LinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg); 
pic1.ContentId = "Pic1"; 
avHtml.LinkedResources.Add(pic1); 


// Add the alternate views instead of using MailMessage.Body 
MailMessage m = new MailMessage(); 
m.AlternateViews.Add(avHtml); 

// Address and send the message 
m.From = new MailAddress("[email protected]", "Rizwan Qureshi"); 
m.To.Add(new MailAddress("[email protected]", "Shayan Qureshi")); 
m.Subject = "A picture using alternate views"; 
SmtpClient client = new SmtpClient("smtp.dotnetplayer.com"); 
client.Send(m); 
+0

+1非常好的。我不知道它可以這樣做。它看起來很簡單。 – ThunderGr 2012-11-22 16:03:18