在WINRT应用程序中禁用邮件正文

时间:2013-09-02 08:27:22

标签: c# windows-runtime winrt-xaml winrt-async windows-8.1

我的应用中有 date picker time picker ,我正在尝试发送here所述的邮件包含日期以及邮件正文中的时间。

所以,现在我的问题是如何禁用电子邮件的正文部分,因为用户不应该从应用程序中选择日期或时间。

这有什么安全点?

代码:

var mailto = new Uri("mailto:?to=me@mysite.com&subject=Date Selected :+datepicker.value+"); 
await Windows.System.Launcher.LaunchUriAsync(mailto);

2 个答案:

答案 0 :(得分:2)

您决定生成电子邮件的方式,从那时起您无法控制电子邮件客户端 - 您已调用外部流程并将参数传递给它。用户无论他想要什么,都可以使用该电子邮件,甚至可以在不发送的情况下将其删除,而无需您知道。此外,您依赖于正确设置系统的用户,以使此链接正常工作。

为了控制您发送的电子邮件,您不应该依赖外部应用程序,因此solution with sharing也无法帮助您,即使它在Windows应用商店应用程序中优先于您当前使用的应用程序

如果您确实需要更改发送的电子邮件,则只有两个选项:

  • 使用客户端SMTP库发送电子邮件。我知道的Windows Store应用程序中唯一一个由Limilabs发布。缺点是您需要使用SMTP服务器设置在本地配置您的应用程序。
  • 向网络服务发送请求并从那里发送电子邮件。这可能是最好的方法,因为它完全由您自己控制,并且不需要在客户端进行任何其他配置。

答案 1 :(得分:0)

AFAIK您无法禁用电子邮件的收件人,主题或正文。

如果要检测编辑,则可以向正文添加校验和。