繁体   English   中英

UWP电子邮件通知

[英]UWP email notifications

我正在尝试构建一个uwp应用,当人们成功创建帐户后,该应用将通过电子邮件通知人们。 这些都将连接到数据库等,但是与此同时,我如何发送电子邮件?

有人可以告诉我一种发送电子邮件的非常基本的方法。 我现在可以在地址和消息中进行硬编码,我只需要知道它是如何工作的。 我只能在网上找到的唯一方法是如何在Windows 10中启动邮件应用程序。这不是我想要的。 我希望能够通过代码自动向人们发送电子邮件。

任何帮助是极大的赞赏。

谢谢

使用内置的UWP相关电子邮件API,您无法直接通过代码发送电子邮件。 但是您可以使用StreamSocket模拟SmtpClient并通过编程发送电子邮件。

我看到Sebastien Pertus在Windows 8.1应用程序中实现了此目的,但是我已经在UWP中尝试了他的代码,效果很好。 您可以查看他的博客以供参考: 在Windows 8.1应用程序中发送电子邮件:使用StreamSocket模拟SmtpClient

您可以打开邮件应用程序的撰写窗口( https://docs.microsoft.com/zh-cn/windows/uwp/contacts-and-calendar/sending-email

该链接中的示例:

private async Task ComposeEmail(Windows.ApplicationModel.Contacts.Contact recipient,
string subject, string messageBody)
{
    var emailMessage = new Windows.ApplicationModel.Email.EmailMessage();
    emailMessage.Body = messageBody;
    var email = recipient.Emails.FirstOrDefault<Windows.ApplicationModel.Contacts.ContactEmail>();
    if (email != null)
    {
        var emailRecipient = new Windows.ApplicationModel.Email.EmailRecipient(email.Address);
        emailMessage.To.Add(emailRecipient);
        emailMessage.Subject = subject;
    }

    await Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(emailMessage);
}

如果您希望该应用程序直接发送电子邮件,则需要连接到smtp服务器。 有关如何执行此操作的信息,请参见https://stackoverflow.com/a/44184416/6409018

简而言之:您可以从https://github.com/LightBuzz/SMTP-WinRT使用nuget包

using (SmtpClient client = new SmtpClient("smtp.example.com", 465, false, "SenderEmail@example.com", "YourPassword"))
{
     EmailMessage emailMessage = new EmailMessage();

     emailMessage.To.Add(new EmailRecipient("someone1@anotherdomain.com"));
     emailMessage.CC.Add(new EmailRecipient("someone2@anotherdomain.com"));
     emailMessage.Bcc.Add(new EmailRecipient("someone3@anotherdomain.com"));
     emailMessage.Subject = "Subject line of your message";
     emailMessage.Body = "This is an email sent from a UWP app!";

     await client.SendMailAsync(emailMessage);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM