在Windows Phone 8.1 SDK中发送邮件的方法

Windows Phone 8.1新的SDK并没有包含原Silverlight App SDK中的各种Task类(比如用来发送邮件EmailComposeTask),所以一时间许多开发者都不知道该如何发送邮件。其实新的SDK也提供了发送邮件的API,只是隐藏较深或曲线弧度偏大,不易发现罢了,本文将介绍两种在新SDK中发送邮件的方法。

方法一:Launcher

var mail = new Uri("mailto:?to=name@domain.com&subject=SUBJECT&body=BODY");
await Launcher.LaunchUriAsync(mail);

利用Launcher来启动一个与mailto协议相关联的应用(既邮箱应用)完成发送邮件,这种方法很简单,但缺点是通过URL参数传递的正文需要编码,难以维护格式。

方法二:EmailManager

var mail = new EmailMessage();

mail.Body = "BODY";
mail.Subject = "SUBJECT";
mail.To.Add(new EmailRecipient("name@domain.com"));
await EmailManager.ShowComposeNewEmailAsync(mail);

这种方法类似于Silverlight App SDK中的EmailComposeTask,但功能却更为强大,还支持发送附件。

值得注意的是,以上所使用到的EmailManager等类都位于Windows.ApplicationModel.Email命名空间,该命名空间目前还是Windows Phone所专享的,所以无法用于Windows Store App。

发表评论

电子邮件地址不会被公开。 必填项已用*标注