HTML 附件仅对使用 Outlook 应用程序(非默认邮件应用程序)的 iPhone 用户变为纯文本
Posted
技术标签:
【中文标题】HTML 附件仅对使用 Outlook 应用程序(非默认邮件应用程序)的 iPhone 用户变为纯文本【英文标题】:HTML attachment turns into plain text only for users on iPhones using Outlook app (non-default mail app) 【发布时间】:2019-10-03 03:56:37 【问题描述】:我们有一个 C# 函数,它使用流编写器从 ASPX 文件创建 html 附件。生成带有 HTML 附件的电子邮件并发送给用户,此附件在所有 android 设备和 iphone 默认邮件应用程序上都可以正常显示。然而,用户发现当尝试在 iPhone 上使用 Outlook 应用程序打开时,它会变成纯文本。
附件可以在所有桌面设备(Gmail、Outlook 等)上正确打开
它也适用于 iPhone 默认邮件应用程序,并确认它仅适用于 Outlook 应用程序。
我们还将文件下载到 PC 上,然后通过 Outlook 将其转发回 iPhone,根本没有更改文件,而且运行良好。
//Only relevant code below
HttpContext.Current.Server.Execute(path, writer);
//path is filepath of aspx file
string msg = writer.ToString();
//filename is the html file
using (StreamWriter sw = new StreamWriter(filename,true))
sw.write(msg);
sw.Dispose();
mail.Attachments.Add(new Attachment(filename));
【问题讨论】:
【参考方案1】:因此,经过进一步调查,我发现在更深入的代码中,我们仍然有一个来自先前版本的行,当它被直接放入正文时,它强制它变成纯文本。奇怪的是,实际上只有 iPhone 上的 Outlook 应用受到了影响。
//OLD:
contentType.MediaType = System.Net.Mime.MediaTypeNames.Text.Plain;
//NEW:
contentType.MediaType = System.Net.Mime.MediaTypeNames.Text.Html;
【讨论】:
以上是关于HTML 附件仅对使用 Outlook 应用程序(非默认邮件应用程序)的 iPhone 用户变为纯文本的主要内容,如果未能解决你的问题,请参考以下文章
是否可以像 Outlook RTF/TNEF 那样在 html 电子邮件中嵌入非图像附件?
Outlook 将图像显示为在邮件的 HTML 正文中引用的附件