相关疑难解决方法(0)

使用SSL向GMail发送邮件时,身份验证或解密失败

我指的是关于C#SMTP邮件的指南.

这是我的代码:

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("dave.stockinger@gmail.com");
mail.To.Add("dave.stockinger@gmail.com");
mail.Subject = "Test Mail";
mail.Body = "This is for testing SMTP mail from GMAIL";
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("MyUserNameInGmail", "MyGmailPassWord");
SmtpServer.EnableSsl = true;

SmtpServer.Send(mail);
Run Code Online (Sandbox Code Playgroud)

不幸的是,有一个关于SSL的例外,我无法修复它:

未处理的异常:System.Net.Mail.SmtpException:无法发送消息.---> System.IO.IOException:身份验证或解密失败.---> System.InvalidOperationException:SSL身份验证错误:RemoteCertificateNotAvailable,System.Net.Mail.SmtpClient.m__4上的RemoteCertificateChainErrors(System.Object sender,System.Security.Cryptography.X509Certificates.X509Certificate证书,System.Security.Cryptography.X509Certificates. X509链接,SslPolicyErrors sslPolicyErrors)[0x00000] in:0在System.Net.Security.SslStream + c__AnonStorey7.<> m__A(System.Security.Cryptography.X509Certificates.X509Certificate cert,System.Int32 [] certErrors)[0x00000] in: 0
在Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate证书,System.Int32 []错误)[0x00000] in:0
at Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation( System.Security.Cryptography.X509Certificates.X509Certificate证书,System.Int32 []错误)[0x00000] in:0
在Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation(System.Security.Cryptography.X509Certificates.X509Certificate证书,System.Int32 [] certificateErrors)[0x00000] in:0 at Mono.Security.Protocol.Tls.Handshake.Client. TlsServerCertificate.validateCertificates(Mono.Security.X509.X509CertificateCollection证书)[0x00000] in:0,Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1()[0x00000] in:0 …

c# email mono gmail

10
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

email ×1

gmail ×1

mono ×1