Tôi đang viết chương trình gửi email cho người dùng có nhiều hình ảnh (biểu đồ) được nhúng trong nội dung Thư email (HTML).Cách nhúng nhiều hình ảnh trong phần thân email bằng cách sử dụng .NET
Khi tôi thử mẫu ở đây..đã hoạt động tốt khi tôi chỉ nhúng một hình ảnh http://www.systemnetmail.com/faq/4.4.aspx.
Tuy nhiên, khi tôi cố gắng nhúng nhiều hình ảnh bằng cách sử dụng mã bên dưới, không có hình ảnh nào được nhúng, thay vào đó chúng được gửi dưới dạng tệp đính kèm.
public MailMessage MailMessage(Metric metric, DateTime date)
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]", "User1");
msg.To.Add(new MailAddress("[email protected]"));
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 = "<html><body>";
List<LinkedResource> resources = new List<LinkedResource>();
foreach (var chart in charts)
{
string imageTag = string.Format("<img src=cid:chart{0} /><br>", i);
htmlBody += imageTag;
LinkedResource graph = new LinkedResource(chart.Value, "image/jpeg");
graph.ContentId = "chart" + i;
resources.Add(graph);
i++;
}
htmlBody += "</body></html>";
// 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;
}
Mọi manh mối như những gì tôi bị thiếu? Tôi đã kiểm tra các tập tin .htm đó cũng được gửi như tập tin đính kèm với email, và nguồn html trông như sau:
<html>><body><img src=cid:chart0 /><br><img src=cid:chart1 /><br><img src=cid:chart2/><br><img src=cid:chart3 /><br><img src=cid:chart4 /><br></body></html>
Vì vậy, Q là làm thế nào để gửi nhiều hình ảnh trong phần nội dung html, không phải là tập tin đính kèm.
có thể trùng lặp [Gửi email có hình ảnh được nhúng trong nội dung từ C#] (http://stackoverflow.com/questions/1921275/sending-an-email-with-an-image-embedded-in-the- body-from-c) –