加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – HTML电子邮件中的嵌入图像无法在手机上显示

发布时间:2020-12-16 06:56:34 所属栏目:asp.Net 来源:网络整理
导读:我有一个应用程序发送带有嵌入图像的 HTML格式的电子邮件.电子邮件在许多不同的桌面/ Web客户端上看起来很完美当在支持HTML电子邮件的移动电话上查看电子邮件时(在iPhone,WinMo 6.1上测试),图像显示为红色’X’.正确显示所有其他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开始:

The information in the ContentType
class is used to describe the data
contained in an e-mail message in such
a way that software that displays
e-mail can present the content in an
appropriate manner. ContentType is
used with the Attachment class to
specify the type of content in the
attachment.

Outlook能够了解附加图像的显示方式,但移动客户端需要更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读