我正在使用C#在运行时将HTML文档(包含图片)作为电子邮件附件发送。
但是当我检查收到的电子邮件时,发送的html文档不包含任何图像。
能否请您指导我如何确保HTML文档与图像一起发送。
MailMessage objMailMessage = new MailMessage();
objMailMessage.From = new MailAddress("aa@gmail.com");
string[] emailIds = objReportRequest.EmailIds.Split(',');
foreach (string emailId in emailIds)
{
objMailMessage.To.Add(new MailAddress(emailId));
}
objMailMessage.IsBodyHtml = true;
objMailMessage.Body = messageBody;
objMailMessage.Subject = "Test Service";
objMailMessage.Attachments.Add(new Attachment(filePath));
SmtpClient objSmtpClient = new SmtpClient("smtp.gmail.com");
objSmtpClient.Credentials = new NetworkCredential("aaa@gmail.com", "aaa");
objSmtpClient.EnableSsl = true;
objSmtpClient.Send(objMailMessage);
我收到的html文档为电子邮件附件,但未显示图像。
谢谢!
最佳答案
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(message, null, "text/html");
LinkedResource image = new LinkedResource(@".\images\sample.jpg");
image.ContentId = "Image";
message = "<img src=cid:Image>" + message;
htmlView = AlternateView.CreateAlternateViewFromString(message, null, "text/html");
htmlView.LinkedResources.Add(image);
这就是您将图像放入HTML电子邮件的方式,根据MSDN的html附件使用相同的对象,但是我没有专门执行此操作的代码。
关于c# - 发送HTML文档(包含图片)作为电子邮件附件C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1947089/