我正在使用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/

10-11 22:51
查看更多