asp.net – HTML电子邮件中的嵌入图像无法在手机上显示
我有一个应用程序发送带有嵌入图像的
HTML格式的电子邮件.电子邮件在许多不同的桌面/ Web客户端上看起来很完美当在支持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应用程序(使用嵌入图像)发送,则移动客户端会阻止图像.两者有什么区别? 解决方法
我终于找到了这个问题的答案:未设置LinkedResource的可选ContentType.桌面客户端可以搞清楚
从MSDN开始:
Outlook能够了解附加图像的显示方式,但移动客户端需要更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – EntityFramework代码在部署到Azure后未运行
- asp.net – 存储DotNetOpenAuth信息和用户信息检索
- asp.net-mvc-3 – ASP.NET MVC 3:在需要模型外部的信息时验
- asp.net – 在静态Web方法中调用ResolveClientUrl(ASPNet W
- 跟着老桂学ASP.NET Core 2.0
- asp.net – 使用逗号分隔值搜索列
- asp.net-core – 在.NET Core Web API上为CORS启用OPTIONS标
- asp.net – 我的javascript代码无法在mozilla firefox中运行
- 如何在asp.net mvc中使用razor viewmodel将c#guid值赋给jav
- .net – 一键更新所有WCF服务参考(两次点击也可以!)
- ASP.NET应用程序重新启动太多
- asp.net – .NET 4.5中的样式包和CSS中的图标
- asp.net-mvc – 如何从MVC控制器返回Json对象到视
- asp.net-mvc – 无法在asp.net mvc中映射robots.
- asp.net-mvc – 编译MVC并预编译视图并部署到Azu
- asp.net-mvc – 如何将POST请求重定向到维护MVC中
- asp.net-mvc-4 – 如何在MVC 4 w / default simp
- 通过asp.net中的C#将参数传递给CRYSTAL REPORT
- asp.net – 如何阻止.net中的libwww-perl访问?
- 在ASP.NET MVC 3 Web应用程序项目之间共享视图