2013-05-09 2 views
0

이미지가 포함 된 이메일을 보내려고합니다. 이미지는 List<Bitmap>에서 발생하며 나는 그들이 100 % 존재하고 있다고 확신한다. 내가 이메일을받을 때이메일에 포함 된 이미지가 없습니다.

어떻게 든 나는 전혀 이미지가 표시되지 않고 HTML은

<img alt="" hspace="0" src="http://image0" align="baseline" border="0"> 
<br /> 

<img alt="" hspace="0" src="http://image1" align="baseline" border="0"> 
<br /> 

단서처럼 보인다?

var smtp = new SmtpClient(); 

var msg = new MailMessage(new MailAddress("[email protected]", "mysite.com Support"), 
           new MailAddress(email, email)); 
msg.Subject = "No worries, man"; 
msg.IsBodyHtml = true; 
var bodyBuilder = new StringBuilder(); 

for (int i = 0; i < pages.Count; i++) 
    bodyBuilder.AppendLine(string.Format("<img alt=\"\" hspace='0' src='cid:image{0}' align='baseline' border='0'><br />",i)); 
var htmlView = AlternateView.CreateAlternateViewFromString(bodyBuilder.ToString(), null, "text/html"); 

var index = 0; 
foreach (var page in pages) // where page is List<Bitmap> 
{ 
    var memoryStream = new MemoryStream(); 
    page.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); 

    var imagelink = new LinkedResource(memoryStream, "image/png"); 
    imagelink.ContentId = string.Format("image{0}", index); 
    imagelink.TransferEncoding = TransferEncoding.Base64; 

    htmlView.LinkedResources.Add(imagelink); 
    index++; 
} 

msg.AlternateViews.Add(htmlView); 

try 
{ 
    smtp.Send(msg); 
    return Json("true", JsonRequestBehavior.AllowGet); 
} 
catch (Exception ex) 
{ 
    logger.Error(ex.Message, ex); 

    return Json("false", JsonRequestBehavior.AllowGet); 
} 
+0

HT 그'img' 엘리먼트의 ml src 태그가 제대로 보이지 않습니다. – gwin003

+0

@ gwin003 ... 글쎄 ... 임베디드 이미지의 경우 어떻게해야합니까? pls을 제안 해 주시겠습니까? –

+0

@MichaelTodd 죄송합니다 ... 모든 것이 코드에 있습니다. pls를 살펴볼 수 있습니까? –

답변

0

확인 사람

내가 여기 멋진 솔루션 여기

How to embed an Image Stream to MailMessage

을 발견처럼

C 번호는입니다 정확한 코드 :

ImageConverter ic = new ImageConverter(); 
Byte [] ba = (Byte[]) ic.ConvertTo(page,typeof(Byte[])); 
var memoryStream = new MemoryStream(ba); 
page.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png); 
관련 문제