2013-02-19 130 views

回答

3

您需要使用sharing功能。它将允许您创建一个电子邮件模板(设置主题,正文,收件人等)并将其打开给用户,因此他或她可以单击“发送”。没有smtp客户端这样的东西,无论好坏。 Here“SA漂亮的你的选择说明从Windows手机送东西8.

8

您可以使用Microsoft.Phone.Tasks.EmailComposeTask使用内置的邮件客户端撰写电子邮件:

var task = new EmailComposeTask {To = email}; 
    task.Show(); 

或者你可以发布数据到第三方服务,如SendGrid通过API发送电子邮件。

没有SMTP Windows Phone上可用的API。

+0

谢谢你的回答! – user2087149 2013-02-20 14:17:14

2

您也可以使用第三方库LiveMailMesage。您必须为此付费,但它可以让您在不启动EmailComposeTask的情况下发送电子邮件。如果需要,它还可以让你添加附件和类似的东西。

8

这真的很简单!这是MSDN

首先,你应该加上:

using Microsoft.Phone.Tasks; 

你的代码,然后进行个性化和去邮件应用程序添加此:

EmailComposeTask emailComposeTask = new EmailComposeTask(); 

    emailComposeTask.Subject = "message subject"; 
    emailComposeTask.Body = "message body"; 
    emailComposeTask.To = "[email protected]"; 
    emailComposeTask.Cc = "[email protected]"; 
    emailComposeTask.Bcc = "[email protected]"; 

    emailComposeTask.Show(); 
+0

我们可以在这里附加文件而不是在任务UI? – 2014-02-04 09:46:57

2

如果你正在开发一个通用WinRT Windows Phone应用程序,您可以使用Windows.ApplicationModel.Email.EmailMessage名称空间,因为Microsoft.Phone.Tasks.EmailComposeTask名称空间不适用于WinRT应用程序。

然后,使用此代码创建并启动一封新邮件。

// 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("[email protected]")); 
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); 
0

至于我搜索一下这个没有System.Net.Mail是不是在Windows Phone的

可用于许多其他情况下(尤其是反馈形式),你可能最好连接到专用网络服务而不是绕过电子邮件。

而且如果你正在写的电子邮件客户端,特别需要连接到邮件服务器则没有在框中的任何内容,所以你要么需要连接到服务特定的API(很多现代的邮件服务支持REST客户端)或自己实现SMTP。

这将是很容易地创建一个API,JSON发送到服务器和SMTP将在那里进行配置。

+0

这不是问题的答案。 – 2015-08-05 09:44:28

相关问题