C# 如何从Windows Phone 8应用程序发送电子邮件?

C# 如何从Windows Phone 8应用程序发送电子邮件?,c#,windows-phone-8,smtpclient,mailmessage,C#,Windows Phone 8,Smtpclient,Mailmessage,在Windows窗体项目中,我使用SmtpClient和MailMessage类通过电子邮件发送信息 Windows Phone 8是否有相应功能?您需要使用共享功能。它将允许您创建电子邮件模板(设置主题、正文、收件人等)并将其打开给用户,以便用户只需单击“发送”。不管是好是坏,都没有smtp客户端这是对您从Windows Phone 8发送邮件选项的一个很好的描述。您可以使用Microsoft.Phone.Tasks.EmailComposeTask使用内置邮件客户端撰写电子邮件: var

在Windows窗体项目中,我使用SmtpClient和MailMessage类通过电子邮件发送信息


Windows Phone 8是否有相应功能?

您需要使用
共享功能。它将允许您创建电子邮件模板(设置主题、正文、收件人等)并将其打开给用户,以便用户只需单击“发送”。不管是好是坏,都没有smtp客户端这是对您从Windows Phone 8发送邮件选项的一个很好的描述。

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

  var task = new EmailComposeTask {To = email};
  task.Show();
或者,您可以将数据发布到第三方服务,例如
SendGrid
,以通过API发送电子邮件


Windows Phone上没有可用的SMTP API。

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

这真的很简单!这是来自:

首先,您应该添加:

    using Microsoft.Phone.Tasks;
添加到您的代码中,然后要进行个性化设置并转到邮件应用程序,请添加以下内容:

    EmailComposeTask emailComposeTask = new EmailComposeTask();

    emailComposeTask.Subject = "message subject";
    emailComposeTask.Body = "message body";
    emailComposeTask.To = "recipient@example.com";
    emailComposeTask.Cc = "cc@example.com";
    emailComposeTask.Bcc = "bcc@example.com";

    emailComposeTask.Show();

如果您正在开发通用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("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);

就我搜索此内容而言,没有System.Net.Mail在Windows Phone中不可用

对于许多其他情况(尤其是反馈表单),您最好连接到专用的web服务,而不是通过电子邮件迂回

如果您正在编写电子邮件客户端,并且特别需要连接到邮件服务器,那么该框中没有任何内容,因此您需要连接到特定于服务的API(许多现代邮件服务支持REST客户端),或者自己实现SMTP


创建一个API将Json发送到服务器将很容易,SMTP将在那里配置。

感谢您的回答!我们可以在这里附加文件而不是在任务UI中吗?这不是问题的答案。