[英]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.