2015-05-29 1 views
0

Я пытаюсь отправить электронное письмо из приложения my.net. Я включил изображение в него. Я получаю изображение в письме. Проблема заключается в том, что изображение идет также как вложение. Мне нужно только встроенное изображение. Не вложение. Любой вариант удаления вложения? меня включить код нижеC#. Как избежать прикрепленного изображения при отправке почты

body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; 
        body += "<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">"; 
        body += "</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text"; 
        body += "</FONT></DIV><DIV><img width=600 height=100 id=\"_x0000_i1028\" src=\"cid:cid1\" alt=\"KPMG LINK\"></DIV></BODY></HTML>"; 
        AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, null, "text/plain"); 
        AlternateView alternateHtml = AlternateView.CreateAlternateViewFromString(body, null, "text/html"); 
        LinkedResource resource = null; 
        resource = new LinkedResource(ImagePath, new ContentType("image/png")); 
        resource.ContentId = "cid"; 
        alternate.LinkedResources.Add(resource); 
        message.AlternateViews.Add(alternate); 
        message.AlternateViews.Add(alternateHtml);       

        smtp.Send(message); 

ответ

0

Try из любого из ниже двух вариантов: (Reference)

Вариант 1: -

System.Net.Mail.Attachment inline = new System.Net.Mail.Attachment(@"imagepath\filename.png"); 
inline.ContentDisposition.Inline = true; 

Вариант 2: -

using (var client = new SmtpClient()) 
{ 
    MailMessage newMail = new MailMessage(); 
    newMail.To.Add(new MailAddress("[email protected]")); 
    newMail.Subject = "Test Subject"; 
    newMail.IsBodyHtml = true; 

    var inlineLogo = new LinkedResource(Server.MapPath("~/Path/To/YourImage.png")); 
    inlineLogo.ContentId = Guid.NewGuid().ToString(); 

    string body = string.Format(@" 
      <p>Lorum Ipsum Blah Blah</p> 
      <img src=""cid:{0}"" /> 
      <p>Lorum Ipsum Blah Blah</p> 
     ", inlineLogo.ContentId); 

    var view = AlternateView.CreateAlternateViewFromString(body, null, "text/html"); 
    view.LinkedResources.Add(inlineLogo); 
    newMail.AlternateViews.Add(view); 

    client.Send(newMail); 
}