Добавьте несколько изображений в тело письма (встроенное)с помощью приложения c# windows
Я искал это несколько раз и нашел решения,но все они поддерживают только одно изображение.Наконец я использовал приведенный ниже код. Но та же проблема (т. е.),если html содержит более одного изображения, то только одно изображение отображается в теле, а остальные будут приходить как вложения.
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);
Пожалуйста,помогите мне решить эту проблему, как показать все изображения внутри тела электронной почты?...
Sergey Alexandrovich Kryukov
Это вполне решаемо, но как показанный код связан с электронной почтой?
—СА
sayana3
Я только что показал здесь только раздел тела сообщения.
Любые полезные ссылки для отображения нескольких изображений в виде встроенных.
Sergey Alexandrovich Kryukov
Теперь я понимаю, Спасибо. Пожалуйста, смотрите мой ответ.
—СА