C# 打开Outlook应用程序/桌面,通过Windows 8应用程序发送邮件

C# 打开Outlook应用程序/桌面,通过Windows 8应用程序发送邮件,c#,email,windows-8,windows-runtime,winrt-xaml,C#,Email,Windows 8,Windows Runtime,Winrt Xaml,我正在创建一个windows 8应用程序,用于从输入的字段发送邮件。我已经测试并尝试了两种方法。但每一种都有其局限性。我的要求是通过outlook桌面应用程序为用户发送邮件很简单。邮件的内容体格式很好,因此我使用HTML创建它(如果有其他方法,请告诉我),还有一个用于获取用户签名的InkManager的图像附件 方法1:使用共享魅力。所有事情都很好,但有时应用程序停止共享,然后我需要重新启动或从该帐户注销,然后再次登录。客户希望打开他/她的outlook 方法2:使用mailto并使用Launc

我正在创建一个windows 8应用程序,用于从输入的字段发送邮件。我已经测试并尝试了两种方法。但每一种都有其局限性。我的要求是通过outlook桌面应用程序为用户发送邮件很简单。邮件的内容体格式很好,因此我使用HTML创建它(如果有其他方法,请告诉我),还有一个用于获取用户签名的InkManager的图像附件

方法1:使用共享魅力。所有事情都很好,但有时应用程序停止共享,然后我需要重新启动或从该帐户注销,然后再次登录。客户希望打开他/她的outlook

方法2:使用mailto并使用Launcher.launchurisync打开它为我提供了一个选择outlook的选项,但我无法设置HTML内容的格式,也无法将用于将用户签名作为图像的InkManager


如何解决此问题?

目前最好的方法是写入/连接到发送邮件的web服务。我想可能有现成的。

如果您需要从用户帐户发送邮件,这是仅有的两种方式。替代方案是使用Filip建议的外部web服务,或者使用邮件API(如)直接从应用程序发送


不过,关于第一种方法,我还有另外一点意见。根据我的经验,共享通常会停止工作,直到下一次登录时,应用程序在处理
DataRequested
事件时出现错误-这打破了所有应用程序的共享魅力。如果在开发或测试自己的应用程序期间发生这种情况,请确保处理事件处理程序中可能发生的任何异常,并检查是否正确添加和删除了事件处理程序。此外,在调试时还应避免在此事件处理程序中停止应用程序。这应该可以防止问题发生

不幸的是,没有其他办法:(