簡體   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