c# 电子邮件错误 "System.Net.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

c# Email Error "System.Net.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

当我引用 class 发送电子邮件时出现以下错误。

"System.Net.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

我正在使用 Visual Studio 2017 版本 15.6.6, .Net 4.702556 和 MailKit 2.0.3

我试过 smtp.live.com、smtp.outlook.com、smtp.office365.com、smtp.gmail.com(使用 gmail 地址)和 outlook。office365.com

谁知道为什么会出现这个错误以及我可以做些什么来摆脱它?

谢谢

using MailKit.Net.Smtp;
using MimeKit;

namespace Water_Dewater
{
    public class AlarmMessageNotifications
    {
        public static void AlarmEmail()
        {
            var alert = new MimeMessage();
            alert.From.Add(new MailboxAddress("****@hotmail.com"));
            alert.To.Add(new MailboxAddress("****@hotmail.com"));
            alert.Importance = MessageImportance.High;
            alert.Subject = "test";
            alert.Body = new TextPart("plain")
            {
                Text = "testing"
            };

            using (var client = new SmtpClient())
            {
                client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                client.Connect("outlook.office365.com", 587, true);
                client.Authenticate("****@hotmail.com", "****");
                client.Send(alert);
                client.Disconnect(true);
            }
        }
    }

}

MailKit 2.0.3 依赖项需要 System.Net.Security (>= 4.3.0),但是当您将应用定位到创意者更新(10;内部版本 15063 ) 和最小版本 (10.0; Build 10240),UWP 应用使用 System.Net.Security,Version=4.0.0.0,不满足要求。

因此请尝试更改您的应用目标版本和最低版本以使用 MailKit Nuget。

作为建议,自 Fall Creators Update(内部版本 16299)以来,UWP 支持 .Net 标准 2.0。您可以尝试将您的应用定位到 Fall Creators Update(内部版本 16299),并将最低版本内部版本 16299 设置为使用 MailKit v2.0.3。