使用C#发送包含内嵌图像的电子邮件,有些人可以看到图像,有些人无法看到图像

时间:2018-04-05 19:48:48

标签: c# email smtp

在HTML中有两个图像:

<IMG SRC="cid:#IMG01#" >
<IMG SRC="cid:#IMG02#" >

C#代码是:

                var message = new MailMessage
                {
                    Priority = MailPriority.Normal,
                    Sender = new MailAddress(utente.Email, "xxx.it"),
                    From = new MailAddress(utente.Email, "xxx.it")
                };
                message.To.Add(new MailAddress("xxx@tiscali.it", "aaaaaaaa"));

                message.Subject = "xywz";
                message.IsBodyHtml = true;
                message.Body = Modello;

                Attachment AttPrinc = new Attachment(path + "Attachment.pdf");
                message.Attachments.Add(AttPrinc);

                string contentID1 = "IMMAGINE01";
                string contentID2 = "IMMAGINE02";

                Modello = Modello.Replace("#IMG01#", contentID1);
                Modello = Modello.Replace("#IMG02#", contentID2);

                LinkedResource InlineImg01 = new LinkedResource(path + "img01.jpg", "image/jpg");
                InlineImg01.ContentId = contentID1;
                LinkedResource InlineImg02 = new LinkedResource(path + "img02.jpg", "image/jpg");
                InlineImg02.ContentId = contentID2;

                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Modello, null, "text/html");
                htmlView.LinkedResources.Add(InlineImg02);
                htmlView.LinkedResources.Add(InlineImg01);                    
                message.AlternateViews.Add(htmlView);

                var mailClient = new SmtpClient();
                mailClient.Send(message);

我发送电子邮件,在我的电脑上使用Thunderbird,我看到一切正确,在我的电脑上使用网络邮件,我看到图像,在我的手机上(Huawey Mate 8)用网络邮件,我不明白图像。 我将电子邮件发送给其他人(测试人员),其中一些人可以看到图像,有些人无法看到图像。 我疯了。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

经过长时间的调试后,我发现了问题:HTML文件是由Word生成的...我从头开始重写了文件,并且奇迹般地无处不在。

Word生成的HTML代码是疯狂的,类和类,都是一个简单的文档。