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

时间:2018-04-18 00:53:23

标签: c# uwp smtp visual-studio-2017 mailkit

当我引用该类发送电子邮件时,我收到以下错误。

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

我正在使用 Visual Studio 2017 ver 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);
            }
        }
    }

}

1 个答案:

答案 0 :(得分:0)

MailKit 2.0.3依赖项需要 System.Net.Security(> = 4.3.0),但是当您在Creators Update(10; Build 15063)和Min版本上定位应用时(10.0; Build 10240),UWP应用程序使用System.Net.Security,Version = 4.0.0.0,它不满足要求。

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

作为建议,自Fall Creators Update(build 16299)以来,UWP支持.Net标准2.0。您可以尝试在Fall Creators Update(build 16299)上定位您的应用程序,并将Min版本build 16299设置为使用MailKit v2.0.3。