Отправка вложений электронной почты через UWP EmailManager не работает

Отправка вложения из универсального приложения со следующим кодом не работает, почему?

        Dim emailMessage As New EmailMessage()
        emailMessage.[To].Add(New EmailRecipient("[email protected]"))
        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)

To, тема и тело отображаются в Outlook, но вложение отсутствует: Скриншот Outlook

Ответ 1

Я считаю, что это потому, что Outlook является настольным приложением. Как я понял, EmailManager.ShowComposeNewEmailAsync использует mailto: protocal для запуска приложения почтового клиента и использования общего доступа для предоставления содержимого электронной почты.

Если вы выбираете приложение почтового магазина, когда запускается диалог выбора приложения по умолчанию, вы сможете увидеть вложение следующим образом: введите описание изображения здесь

Если вы ранее выбрали приложение Desktop Outlook как значение по умолчанию для протокола mailto, вам необходимо изменить приложение по умолчанию для ассоциации mailto: protocol на панели управления.

Ранее ShowComposeNewEmailAsync работает только для приложения Windows для работы с Windows. И он не обновляется в документе, потому что он не включает поддержку win 10.

В Windows 10 mobile он работает без проблем. Но на рабочем столе Windows вы должны выбрать приложение для магазина.