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 正文中引用的附件

如何使用预填充的附件打开 Outlook 新邮件窗口

如何解除 outlook 2016 附件大小的限制

Outlook 2013 邀请未显示嵌入附件 - 文本/日历;方法 = 请求

逻辑应用和 Outlook 嵌入图像