通过UWP EmailManager发送电子邮件附件无法正常工作

tcc*_*est 13 email-attachments uwp

使用以下代码从通用应用程序发送附件不起作用,为什么?

        Dim emailMessage As New EmailMessage()
        emailMessage.[To].Add(New EmailRecipient("a@b.com"))
        emailMessage.Subject = "Test"
        emailMessage.Body = "Hello World"

        Dim localAppFolder = Windows.Storage.ApplicationData.Current.LocalFolder
        Dim file = Await localAppFolder.CreateFileAsync("SomeFile.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting)
        Await Windows.Storage.FileIO.WriteTextAsync(file, "aaaa")
        Dim fileRef = RandomAccessStreamReference.CreateFromFile(file)
        emailMessage.Attachments.Add(New EmailAttachment(file.Name, fileRef))
        Await EmailManager.ShowComposeNewEmailAsync(emailMessage)
Run Code Online (Sandbox Code Playgroud)

To,subject和body在Outlook中显示正常,但附件丢失:Outlook截图

Ala*_*SFT 10

我相信这是因为Outlook是一个桌面应用程序.据我所知,EmailManager.ShowComposeNewEmailAsync使用mailto:protocal启动邮件客户端应用程序并使用共享来提供电子邮件内容.

如果在选择默认应用程序对话框启动时选择邮件存储应用程序,您将能够看到如下附件: 在此输入图像描述

如果您之前选择了Desktop Outlook应用程序作为mailto协议的默认应用程序,则必须在控制面板中更改mailto:protocol关联的默认应用程序.

以前,ShowComposeNewEmailAsync仅适用于Windows Phone运行时应用程序.并且它在文档中不是最新的,因为它不包括win 10支持.

在Windows 10移动设备上,它运行良好,没有任何问题.但在Windows桌面上,您必须选择商店应用程序.

  • 2015年的答案仍然发生在2017年.我的公司客户无法将其整个电子邮件系统更改为"mail"应用程序以解决此问题.微软对此有何工作或言论? (2认同)