Fügen Sie mehrere Bilder in den E-Mail-Text (inline) ein, indem Sie die C # Windows-Anwendung @ verwende

Ich habe mehrmals danach gesucht und Lösungen gefunden, aber alle unterstützen nur ein Bild. Schließlich habe ich diesen Code verwendet. Das Problem ist jedoch, dass, wenn der HTML-Code mehr als ein Bild enthält, nur ein Bild im Textkörper angezeigt wird und die anderen als Anhang angezeigt werden.

string inputHtmlContent = htmlbody;
string outputHtmlContent = string.Empty;
var myResources = new List<LinkedResource>();

if ((!string.IsNullOrEmpty(inputHtmlContent)))
{
  var doc = new HtmlAgilityPack.HtmlDocument();
  doc.LoadHtml(inputHtmlContent);
  HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//img");
  if (nodes !=null)
  {
    foreach (HtmlNode node in nodes)
    {
      if (node.Attributes.Contains("src"))
      {
        string data = node.Attributes["src"].Value;
        string imgPath = Application.StartupPath+"\\"+data;
        var imgLogo = new LinkedResource(imgPath);
        imgLogo.ContentId = Guid.NewGuid().ToString();
        imgLogo.ContentType = new ContentType("image/jpeg");
        myResources.Add(imgLogo);
        node.Attributes["src"].Value = string.Format("cid:{0}", imgLogo.ContentId);
        outputHtmlContent = doc.DocumentNode.OuterHtml;
      }
    }
  }
  else
  {
    outputHtmlContent = inputHtmlContent;
  }
  AlternateView av2 = AlternateView.CreateAlternateViewFromString(outputHtmlContent,
                            null, MediaTypeNames.Text.Html);
  foreach (LinkedResource linkedResource in myResources)
  {
    av2.LinkedResources.Add(linkedResource);
  }

  msg.AlternateViews.Add(av2);

Bitte helfen Sie mir bei der Lösung dieses Problems. Wie werden alle Bilder im E-Mail-Text angezeigt? ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage