【发布时间】:2011-05-08 01:48:25
【问题描述】:
这是我的代码:
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);
很遗憾,SSL 存在异常,我无法修复:
未处理的异常: System.Net.Mail.SmtpException:消息 无法发送。 ---> System.IO.IOException: 的 认证或解密有 失败的。 ---> System.InvalidOperationException:SSL 授权错误: 远程证书不可用, RemoteCertificateChainErrors 在 System.Net.Mail.SmtpClient.m__4 (System.Object 发送者, System.Security.Cryptography.X509Certificates.X509Certificate 证书, System.Security.Cryptography.X509Certificates.X509Chain 链,SslPolicyErrors sslPolicyErrors) [0x00000] 在 :0 在 System.Net.Security.SslStream+c__AnonStorey7.m__A (System.Security.Cryptography.X509Certificates.X509Certificate 证书,System.Int32[] 证书错误) [0x00000] 在 :0
在 Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation (System.Security.Cryptography.X509Certificates.X509Certificate 证书,System.Int32[] 错误) [0x00000] 在 :0
在 Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation (System.Security.Cryptography.X509Certificates.X509Certificate 证书,System.Int32[] 错误) [0x00000] 在 :0
在 Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation (System.Security.Cryptography.X509Certificates.X509Certificate 证书,System.Int32[] 证书错误)[0x00000] 在 :0 在 Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection 证书)[0x00000] in :0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] 在 :0
在 Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] 在 :0
在(包装 远程调用检查) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:进程 () 在 Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in :0 at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] 在 :0 --- 结束 内部异常堆栈跟踪 --- 在 Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] 在 :0 --- 结束 内部异常堆栈跟踪 --- 在 System.Net.Mail.SmtpClient.Send (System.Net.Mail.MailMessage 消息) [0x00000] 在 :0
在 csharpdungeon.MainClass.Main () [0x00000] 在 :0
【问题讨论】:
-
有人已经实现了通过 gmail 发送 (stackoverflow.com/questions/32260/…)