我正在开发一款Windows Store应用程序(Windows 8)。
我需要根据应用程序数据和地址发送电子邮件,而不需要用户手动输入数据或地址。
有什么正确/简单的方法来实现它?
EitanB
我正在开发一款Windows Store应用程序(Windows 8)。
我需要根据应用程序数据和地址发送电子邮件,而不需要用户手动输入数据或地址。
有什么正确/简单的方法来实现它?
EitanB
你可以尝试使用
var mailto = new Uri("mailto:?to=recipient@example.com&subject=The subject of an email&body=Hello from a Windows 8 Metro app.");
await Windows.System.Launcher.LaunchUriAsync(mailto);
有关更多信息,请参见此处...
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh973055.aspx
var mailto = new Uri("mailto:yourname@email.com?subject=" + subject + "&body=" + body);
await Launcher.LaunchUriAsync(mailto);
使用mailto:方法的问题在于,如果用户没有与mailto:相关联的客户端程序,则什么也不会发生。
最可靠的方法是使用某种Web服务或WCF服务。虽然在Windows 8上考虑使用共享魅力是“正确”的方式,但并不一定是最好的方式,因为用户可能仍然没有安装电子邮件客户端,例如他们依赖于gmail.com进行电子邮件。
// Create your new email message.
var em = new EmailMessage() ;
// Add as much EmailRecipient in it as you need using the following method.
em.To.Add(new EmailRecipient("yourname@yourdomain.com"));
em.Subject = "Your Subject...";
em.Body = "Your email body...";
// You can add an attachment that way.
//em.Attachments.Add(new EmailAttachment(...);
// Show the email composer.
await EmailManager.ShowComposeNewEmailAsync(em);
我希望这能解决你(或其他开发人员)的问题。
祝好。
总是可以连接到SMTP服务器并发出HELO、MAIL、RCPT等命令。当然,您需要连接到一个SMTP服务器。我在我们公司的内部网络上使用它来发送电子邮件。