Как встроить несколько изображений в тело письма с помощью.NET

Я пишу программу, которая отправляет электронные письма пользователям с несколькими изображениями (диаграммами), встроенными в тело сообщения электронной почты (HTML).

Когда я попробовал образец, расположенный здесь ... который хорошо работал, когда мне нужно было встроить только одно изображение http://www.systemnetmail.com/faq/4.4.aspx .

Но когда я попытался встроить несколько изображений, используя приведенный ниже код, ни одно из изображений не было встроено, вместо этого они были отправлено как вложения.

public MailMessage MailMessage(Metric metric, DateTime date)
{
    MailMessage msg = new MailMessage();
    msg.From = new MailAddress("test@gmail.com", "User1");
    msg.To.Add(new MailAddress("test@gmail.com"));
    msg.Subject = "Trend for metric: " + metric.Name;
    msg.IsBodyHtml = true;

    // Generate the charts for the given metric
    var charts = this.GenerateCharts(metric, date);
    int i = 0;
    string htmlBody = "";
    List resources = new List();
    foreach (var chart in charts)
    {
        string imageTag = string.Format("
", i); htmlBody += imageTag; LinkedResource graph = new LinkedResource(chart.Value, "image/jpeg"); graph.ContentId = "chart" + i; resources.Add(graph); i++; } htmlBody += ""; // Alternate view for embedded images AlternateView avText = AlternateView.CreateAlternateViewFromString(metric.Name, null, MediaTypeNames.Text.Html); AlternateView avImages = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); // Add all the images as linked resources resources.ForEach(x => avImages.LinkedResources.Add(x)); // Add the views for image msg.AlternateViews.Add(avText); msg.AlternateViews.Add(avImages); return msg; }

Есть какие-нибудь подсказки относительно того, что мне не хватает? Я проверил файл .htm, который также отправляется как вложение с электронным письмом, и исходный код html выглядит следующим образом:

>




Итак, вопрос заключается в том, как отправить несколько изображений в теле html, а не как вложение.

13
задан John Saunders 13 August 2011 в 07:12
поделиться