C# 将Html文档(包含图像)作为电子邮件附件C发送

C# 将Html文档(包含图像)作为电子邮件附件C发送,c#,email,attachment,C#,Email,Attachment,我在运行时使用C将包含图像的Html文档作为电子邮件附件发送。 但当我检查收到的电子邮件时,发送的html文档不包含任何图像 请您指导我如何确保html文档与图像一起发送 MailMessage objMailMessage = new MailMessage(); objMailMessage.From = new MailAddress("aa@gmail.com"); string[] emailIds = objReportRequest

我在运行时使用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电子邮件,HTML附件根据使用相同的对象,但我没有代码专门这样做


这是如何将图像放入HTML电子邮件中的,HTML附件根据使用相同的对象,但我没有专门的代码。

这是一个。

这是一个。

如果HTML作为附件发送,我认为您无法将图像嵌入其中。HTML毕竟是文本


如果图像是静态的,我认为最好的办法是通过绝对路径引用图像,并将图像托管在一台服务器上

如果HTML是作为附件发送的,我认为您不能在其中嵌入图像。HTML毕竟是文本


如果图像是静态的,我认为最好的办法是通过绝对路径引用图像,并将图像托管在一台服务器上

因为HTML是作为附件而不是正文发送的,所以没有一种简单的方法可以做到这一点

以下是一些选项:

最好的方法是实际构建一个MHT或MHTML文档,并将其作为附件发送

您可能希望用HTML填充电子邮件正文,然后嵌入图像,而不是将HTML作为附件添加

另一种选择是简单地构建一封电子邮件,将图像嵌入到该电子邮件中,然后将该电子邮件作为附件添加

如果收件人将使用更新的浏览器,则可以使用数据URL方案将图像直接嵌入标记中。

就像另一张海报建议的那样,在标签中使用绝对链接,并将图像放在某个地方


由于您将HTML作为附件而不是正文发送,因此没有一种简单的方法可以做到这一点

以下是一些选项:

最好的方法是实际构建一个MHT或MHTML文档,并将其作为附件发送

您可能希望用HTML填充电子邮件正文,然后嵌入图像,而不是将HTML作为附件添加

另一种选择是简单地构建一封电子邮件,将图像嵌入到该电子邮件中,然后将该电子邮件作为附件添加

如果收件人将使用更新的浏览器,则可以使用数据URL方案将图像直接嵌入标记中。

就像另一张海报建议的那样,在标签中使用绝对链接,并将图像放在某个地方


介意向我们展示您尝试使用的代码吗?介意向我们展示您尝试使用的代码吗?HTML可以包含指向其他附件(如图像)的链接。RFC 2111中描述了用于引用其他附件的内容id URL格式。HTML可以包含指向其他附件(如图像)的链接。RFC 2111中描述了用于引用其他附件的内容id URL格式。为了让这项工作正常进行,我必须在创建LinkedResourceimage/png时包含MIME内容。我使用.NET4.5为了让它正常工作,我必须在创建LinkedResourceimage/png时包含MIME内容。我使用.NET4.5