我将我的应用程序移植到UWP,并且UWP中不允许使用某些API - 其中一个是经典邮件API(MAPI)。
我发现的是:
我已经使用光传感器(Windows控制台应用程序消耗的UWP API)进行了一些成功的测试,并希望邮件api也能正常工作。但是,当我运行这个简单的代码时 - 它在UWP项目中编译时有效,但是当从WPF应用程序中运行时它不会。
EmailMessage emailMessage = new EmailMessage();
emailMessage.To.Add(new EmailRecipient("someone@gmail.com"));
emailMessage.Body = "message body";
await EmailManager.ShowComposeNewEmailAsync(emailMessage);
运行时最终会进行沟通: 不支持请求来自hresult的异常(0x80070032)
问题是: 这是一个已知的限制,UWP暴露的邮件api无法在WPF(或任何非UWP主机)上运行吗? 谁能说出这是一般行为而不是我的环境特有的? (为了在WPF项目中编译,需要添加对两个DLL的引用:System.runtime.windowsruntime.dll和Windows.winmd)
我试图从" raw"中调用UWP邮件api。 WPF应用程序,并打包并安装为Windows桌面UWP应用程序 - 我得到相同的负面结果。
仅当从UWP应用程序运行时,代码才会显示邮件客户端
提前致谢, 米哈尔
答案 0 :(得分:3)
我已经了解到,此方案目前不支持Windows.ApplicationModel.Email API。 https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-supported-api
答案 1 :(得分:3)
你能使用URI吗?我认为更多app支持URI,但它们不支持uwp邮件协议。
我会告诉你一个简单的方法来发送带有URI的电子邮件。
我写了一个可以帮助发送电子邮件的功能。
xml.bus.*
我认为这很容易使用。