C# 使用Mailkit:“SMTP服务器意外断开连接。”

C# 使用Mailkit:“SMTP服务器意外断开连接。”,c#,smtp,smtpclient,mailkit,smtp-auth,C#,Smtp,Smtpclient,Mailkit,Smtp Auth,我正在尝试使用SendGrid的免费SMTP中继从我的ASP.NET应用程序发送电子邮件。我可以连接到服务器,但当我尝试进行身份验证时,会出现以下错误:SMTP服务器意外断开连接 using (var client = new SmtpClient()) { client.ServerCertificateValidationCallback = (sender, certificate, certChainType, er

我正在尝试使用SendGrid的免费SMTP中继从我的ASP.NET应用程序发送电子邮件。我可以连接到服务器,但当我尝试进行身份验证时,会出现以下错误:SMTP服务器意外断开连接

using (var client = new SmtpClient())
        {
            client.ServerCertificateValidationCallback =
                (sender, certificate, certChainType, errors) => true;
            client.AuthenticationMechanisms.Remove("XOAUTH2");

            // connection
            client.Connect("smtp.host", 465, true);
            client.Authenticate("UserName", "Password");//error occurs here

            client.Send(email);
            client.Disconnect(true);
        }
再一次,我可以连接没有任何问题,但当我尝试验证时,我得到前面提到的错误

有什么建议吗


干杯

我解决了我的问题,将SendGrid改为gooogle为所有用户提供的免费SMTP服务。只需遵循以下步骤 你应该可以走了

您必须提供:

用户名:apikey是硬编码值“apikey”吗。 密码:是您从web生成的apikey,它是一个类似哈希的大字符串。
你可以在他们的网站上找到这个。但是很难找到。

这不是我需要的,因为我正在使用Mailkit。我开始认为SendGrid可能不是最适合我所尝试的服务。而且与他们网站上的Telnet示例不同,您不需要对用户名或API密钥进行Base64编码。