2013-01-16 220 views
0

我试图使用WinRT的批量发送电子邮件

var mail = new Uri("mailto:[email protected]"); 
await Windows.System.Launcher.LaunchUriAsync(mail); 

电子邮件客户端启动,但只显示最后一个电子邮件发送一组电子邮件在App Store应用。我真的需要将电子邮件“排队”到客户端。这可能吗?

有人建议使用共享合同,但我认为我可能不得不提示用户分享每封电子邮件?

注意:我将多封电子邮件发送给多个收件人,而不是通过电子邮件发送给多个收件人。

回答

1

如果您想从Windows应用商店应用发送一批电子邮件,最好的办法是为此创建一个Web服务,并从您的应用中调用它来创建这些电子邮件所需的所有数据。

您可以直接发送电子邮件从你的用户设备在几个方面,但它们都有缺点,除非这些都是一次性的,用户希望以交互方式发送电子邮件:

  • 建议的方法是使用一份股份合同,但在这种情况下,用户将不得不自己选择收件人,而且他不知道他是否实际发送了电子邮件。甚至更多:用户可以选择不同的共享目标,例如张贴推文,而不是发送电子邮件。你无法控制。

  • 您可以按照您的尝试启动mailto uri,但这很大程度上取决于用户为此协议选择的默认应用程序。它可能会打开邮件客户端,它可能会打开浏览器或根本无法工作。当然,您仍然不知道用户是否真的会发送电子邮件。再次,你无法控制。

  • 第三个选择是直接从您的应用程序编程发送电子邮件,而无需用户干预。目前没有可用的API。即使您自己实施协议,您仍然需要用户设置SMTP设置。这也是强烈的不鼓励,它可能会阻止你的应用程序通过认证。

+0

谢谢,我很怀疑! –

+0

@Damir您能否解释或指出认证规则,指出不鼓励实施SMTP客户端? –

+0

@PawelLesnikowski对于创建一个实现SMTP客户端代码的邮件客户端应用程序没有任何规定(查看当前的'Mail'应用程序,这将是一个很好的选择)。另一个应用程序悄悄地代表用户发送电子邮件是另一回事。尽管没有[认证规则](http://bit.ly/MwjTtC)严格规定,它违背了[擅于处理一件事](http://bit.ly/r5hNrg)和[有用户控制](http://bit.ly/10bRxHp)。不得不将SMTP设置输入到应用程序中也会引起用户的一些担忧。 –