无法在 .NET Maui 的 iOS 上添加电子邮件附件

Cannot add email attachment on iOS in .NET Maui

提问人:Sach K 提问时间:11/8/2023 更新时间:11/13/2023 访问量:115

问:

我正在尝试将电子邮件附件添加到我的 .NET Maui 应用程序中的电子邮件中。但是,当尝试执行此操作时,附件被遗漏,而不会引发任何错误。

被附加的文件存在,并且该机制在 Android 上运行良好。但在 iOS 上,它会移动到 Outlook 并省略附件。附加的文件是JSON文件,我认为将JSON文件附加到电子邮件没有任何问题。

这是我的代码:

var email = new EmailMessage();
email.Attachments.Add(new EmailAttachment(filePath));
email.Subject = Subject;
email.To.Add("some email address here");
await Email.Default.ComposeAsync(email);

对此的任何帮助将不胜感激。

iOS 电子邮件 Outlook 毛伊岛

评论

1赞 Jason 11/8/2023
来自文档“某些邮件客户端可能会限制您发送的文件类型,或者可能完全阻止附件。
0赞 Sach K 11/8/2023
我尝试手动创建带有 JSON 文件附件的电子邮件,它可以在 iOS 中的 Outlook 上运行良好。我不认为这是因为限制。

答:

0赞 Batesias 11/13/2023 #1

尝试具有参数和传递(针对 JSON 文件)的构造函数重载EmailAttachmentstring contentType"text/plain"

email.Attachments.Add(new EmailAttachment(filePath, contentType: "text/plain"));

对于非 JSON 附件,请根据文件选择更合适的内容类型(MIME 类型)。以下是常见的 MIME 类型列表: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types

评论

0赞 Sach K 11/13/2023
好主意,但没有喜悦。我实际上已经更新了我的代码以发送一个 zip 文件。使用 application/zip MIME 类型没有效果,我仍然得到相同的结果 - 没有附件。
0赞 Batesias 11/13/2023
如果相同的 API 在 Android 上工作正常,但在 iOS 上工作不正常,则可能是可以在 MAUI 存储库上报告的 bug。此外,这是否特定于 iOS 上的 Outlook?它适用于 Apple 的 Mail 应用程序吗?
2赞 Sach K 11/14/2023
我在另一台只有邮件应用程序而没有 Outlook 的 iOS 设备上对其进行了测试。成功了。似乎是 iOS 上的 Outlook 的问题。