繁体   English   中英

在 Asp.net Core 中发送电子邮件时出错(尝试建立 SSL 或 TLS 连接时发生错误。)

[英]Getting error while sending email in Asp.net core ( An error occurred while attempting to establish an SSL or TLS connection. )

我正在使用 asp.net core 3.1 进行项目,我也在工作中使用设计模式。

当我尝试使用 smtp 发送电子邮件时出现此错误。

尝试建立 SSL 或 TLS 连接时出错。 由于以下原因,无法验证服务器的 SSL 证书: • 服务器证书有以下错误: • 撤销功能无法检查证书的撤销。

这是我的代码...

using (var client = new SmtpClient())
        {
            try
            {
                await client.ConnectAsync(_mailSettings.Host, _mailSettings.Port, false);
                client.AuthenticationMechanisms.Remove("XOAUTH2");
                await client.AuthenticateAsync(_mailSettings.UserName, _mailSettings.Password);
                await client.SendAsync(mailMessage);
            }
            catch
            {

                throw;
            }
            finally
            {
                await client.DisconnectAsync(true);
                client.Dispose();
            }

        }

错误发生在这一行之后......

 await client.ConnectAsync(_mailSettings.Host, _mailSettings.Port, false);

吊销功能无法检查证书的吊销情况。

这通常是由于在您尝试建立 SSL/TLS 连接时 CRL 服务器脱机或无法访问导致的暂时性错误,因此SslStream无法验证服务器的 SSL 证书。

CRL 服务器是中央机构,它为客户端提供一种检查证书是否已被吊销的方法。

您可以调用Connect方法之前使用以下代码段禁用证书吊销检查:

client.CheckCertificateRevocation = false;

有关更多信息,请参阅文档: http : //www.mimekit.net/docs/html/P_MailKit_IMailService_CheckCertificateRevocation.htm

抱歉,我可以问一下什么时候使用这条线 client.AuthenticationMechanisms.Remove("XOAUTH2");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM