我有一个应用程序,发送带有嵌入图像的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应用程序(使用嵌入式图像)发送,移动客户端会阻塞图像。这两者有什么区别呢?
发布于 2010-03-18 13:13:23
我终于找到了这个问题的答案:没有设置LinkedResource的可选ContentType。桌面客户端可以找到
来自MSDN
ContentType类中的信息用于描述电子邮件消息中包含的数据,以便显示电子邮件的软件能够以适当的方式显示内容。ContentType与附件类一起使用,用于指定附件中的内容类型。
Outlook能够理解附加图像是如何显示的,但移动客户端需要更多信息。
发布于 2010-03-12 01:07:26
正如其他用户所说,这是一个偏好问题和一个已知的错误。
艾莉森,你确定图像双星进入电话了吗?正如其他用户所指出的,首选项问题可能是默认的,以减少无意中将海量图像下载到数据计划有限的移动客户端。
至于已知的问题,请参阅
http://www.google.com/support/forum/p/Google+Mobile/thread?tid=6470e77d94f0315c&hl=en
谢谢祝你好运。
编辑:哇..。(这是一个老问题;)
发布于 2009-10-05 18:37:56
最常见的原因是设置智能手机上的设置,以防止默认情况下下载电子邮件图像。在大多数手机上,默认的行为是他们必须手动下载图像,通常是通过电子邮件客户端中的一个按钮或设置,如果他们想查看附在该特定电子邮件上的图像。它也是我在台式机和膝上型电脑Outlook设置中使用的设置。对于大多数电子邮件客户端来说,这是一种垃圾邮件保护。对于手机来说,这也是为了从不必要的使用节省带宽。在默认情况下,永远不要指望客户端总是看到图像。
https://stackoverflow.com/questions/1520067
复制相似问题