gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 15:58:31 25 4
gpt4 key购买 nike

我有一个应用程序可以发送带有嵌入图像的 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 能够理解附加图像的显示方式,但移动客户端需要更多信息。

关于asp.net - HTML 电子邮件中的嵌入图像无法在手机上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com