首页 > 解决方案 > 如何在不使用电子邮件界面但使用 Yahoo SMTP 的情况下从 UWP/Windows Store 应用程序(2019)发送点击事件的自动电子邮件

问题描述

尝试使用 yahoo smtp 从 UWP/Windows Store (2019) 应用程序发送自动电子邮件,并且在单击事件时不弹出电子邮件界面。

我已经使用它尝试了 LightBuzz NuGet Package,但它仍然不发送任何电子邮件,应用程序也不会崩溃或给出错误:

using LightBuzz.SMTP;

// The below call to SendMailAsync is used in a click event
SendMailAsync();
// 

public async static void SendMailAsync()
        {
            var server = "smtp.mail.yahoo.com";
            var port = 587;
            var ssl = true;
            var username = "myemail@yahoo.com";
            var password = "myPassword"; 

            using (var client = new SmtpClient(server, port, ssl, username, password))
            {
                var emailMessage = new EmailMessage();

                emailMessage.To.Add(new EmailRecipient("myemail@yahoo.com"));
                emailMessage.CC.Add(new EmailRecipient(""));
                emailMessage.Bcc.Add(new EmailRecipient(""));

                emailMessage.Subject = "My Subject";
                emailMessage.Body = "My Msg.";

                await client.SendMailAsync(emailMessage);
            }
        }

我希望电子邮件能到达我的雅虎邮箱。但是什么都没有。

标签: c#emailuwp

解决方案


我检查了通用System.Net.Mail.SmtpClient类,它在 UWP 中不受支持。请参阅SmtpClient 的 .NET API 浏览器

但我在System.Net.Mail.SmtpClient文档的重要部分找到了一些有用的信息。

github 上的dotnet/platform-compat建议您使用MailKit。它是一个开源库。它支持 .NET 4.5、.NETStandard 1.3/1.6/2.0、Windows Universal 8.1、Xamarin.Android 和 Xamarin.iOS。

所以,你可以在 UWP 中使用它。我已经安装了 nuget 包来测试演示代码。它适用于 UWP。你可以试试。


推荐阅读