我有一个应用程序可以发送带有嵌入图像的 HTML 格式的电子邮件。该电子邮件在许多不同的桌面/网络客户端上看起来都很完美。在支持 HTML 电子邮件的手机上查看电子邮件时(在 iPhone、WinMo 6.1 上测试),图像显示为红色的“X”。所有其他 HTML 正在正确显示。需要明确的是,这个问题只发生在移动客户端上,而不是桌面客户端上。
嵌入图像的代码运行良好,我认为它没有任何问题,但我在下面提供了一些快速示例代码,以防万一:
MailMessage mail = new MailMessage();
mail.To.Add("123@myemail.com");
mail.From = new MailAddress("456@ myemail.com");
mail.Subject = "Image sample - fails in mobile clients";
string Body = "Sample email text<img src=\"cid:imageId\" />";
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");
LinkedResource lr = new LinkedResource("myImage.jpg");
lr.ContentId = "imageId";
htmlView.LinkedResources.Add(lr);
mail.AlternateViews.Add(htmlView);
SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(mail);
有谁知道为什么嵌入式图像不显示在移动客户端上?更好的是,我怎样才能让图像正确显示?
编辑:如果 Outlook 2007(及更高版本)发送带有图像的电子邮件,则图像在移动客户端和桌面客户端中正确显示。如果发送带有嵌入图像的 HTML 格式的电子邮件,则图像不会在移动客户端中正确显示,但在桌面客户端中会正确显示。
Outlook 如何能够发送带有自信显示图像的电子邮件,但如果通过 Web 应用程序(使用嵌入式图像)发送,移动客户端会阻止图像。两者有什么区别?