[MonoDevelop] Recent gmail smtp RemoteCertificateChainErrors error
Guido Van Hoecke
guivho at gmail.com
Tue Jul 2 12:51:09 UTC 2013
Hi,
Fixed this as suggested in second answer in
http://stackoverflow.com/questions/4148019/authentication-or-decryption-has-failed-when-sending-mail-to-gmail-using-ssl
See code section below.
Guido Van Hoecke <guivho at gmail.com> writes:
> Hi,
>
> Recently I get following error when trying to send mail from my Mono
> ASP.net app via Gmail SMTP:
>
> ] SSL authentication error: RemoteCertificateChainErrors
> ]
> ] Description: HTTP 500. Error processing request.
> ]
> ] Stack Trace:
> ]
> ] System.InvalidOperationException: SSL authentication error: RemoteCertificateChainErrors
> ] at System.Net.Mail.SmtpClient.<callback>m__4 (System.Object sender,
> ] System.Security.Cryptography.X509Certificates.X509Certificate
> ] certificate, System.Security.Cryptography.X509Certificates.X509Chain
> ] chain, SslPolicyErrors sslPolicyErrors) [0x00000] in <filename
> ] unknown>:0
> ] at
> ] System.Net.Security.SslStream+<BeginAuthenticateAsClient>c__AnonStoreyC.<>m__A
> ] (System.Security.Cryptography.X509Certificates.X509Certificate cert,
> ] System.Int32[] certErrors) [0x00000] in <filename unknown>:0
> ] at
> ] Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation
> ] (System.Security.Cryptography.X509Certificates.X509Certificate
> ] certificate, System.Int32[] errors) [0x00000] in <filename
> ] unknown>:0
> ] at
> ] Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation
> ] (System.Security.Cryptography.X509Certificates.X509Certificate
> ] certificate, System.Int32[] errors) [0x00000] in <filename
> ] unknown>:0
> ] at
> ] Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation
> ] (System.Security.Cryptography.X509Certificates.X509Certificate
> ] certificate, System.Int32[] certificateErrors) [0x00000] in
> ] <filename unknown>:0
> ] at
> ] Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates
> ] (Mono.Security.X509.X509CertificateCollection certificates)
> ] [0x00000] in <filename unknown>:0
> ] at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0
> ] at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in <filename unknown>:0
> ] at (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process ()
> ] at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in <filename unknown>:0
> ] at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
>
> I get this error in a web page that's been working for a couple of years
> now.
>
> Here's the method I use to create and send the mail:
>
> public static bool HtmlMail (string @from, string to, string bcc, string subject, IEnumerable<string> attachments, string htmlBody)
> {
> var mail = new MailMessage { From = new MailAddress (@from) };
> mail.To.Add (to);
> if (bcc.Length > 0)
> mail.Bcc.Add (bcc);
> mail.Subject = subject;
> mail.Body = htmlBody;
> mail.IsBodyHtml = true;
> foreach (var attachment in attachments) {
> mail.Attachments.Add (new Attachment (attachment));
> }
> var smtp = new SmtpClient {
> Host = SmtpServer,
> Port = SmtpPort,
> EnableSsl = true,
> UseDefaultCredentials = false,
> Credentials = new NetworkCredential(id, pw)
> };
ServicePointManager.ServerCertificateValidationCallback =
delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{ return true; };
> try {
> smtp.Send (mail);
> return true;
> }
> catch (WebException) {
> return false;
> }
> }
>
> Where SmtpServer:SmtpPort are "smtp.gmail.com:587", and the (id, pw)
> credentials are correct.
>
> I have tried to follow the suggested approach in the second part of
> http://stackoverflow.com/questions/9801224/smtpclient-with-gmail
>
> ] mozroots --import --ask-remove
> ] certmgr -ssl smtps://smtp.gmail.com:465
>
> But the latter is not for tls (port 587) but for plain ssl (port 465)
>
> I have no idea why this app suddenly generates
> RemoteCertificateChainErrors
>
> Any help is most welcome and would be sincerely appreciated!
>
> With kind regards,
>
>
> Guido
>
> --
> Isn't it ironic that many men spend a great part of their lives
> avoiding marriage while single-mindedly pursuing those things that
> would make them better prospects?
More information about the Monodevelop-list
mailing list