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? ...