I'm referring to this guide on C# SMTP mail.
Here is my code:
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
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);
Unfortunately, there's an exception regarding SSL and I can't fix it:
Unhandled Exception:
System.Net.Mail.SmtpException: Message
could not be sent. --->
System.IO.IOException: The
authentication or decryption has
failed. --->
System.InvalidOperationException: SSL
authentication error:
RemoteCertificateNotAvailable,
RemoteCertificateChainErrors at
System.Net.Mail.SmtpClient.m__4
(System.Object sender,
System.Security.Cryptography.X509Certificates.X509Certificate
certificate,
System.Security.Cryptography.X509Certificates.X509Chain
chain, SslPolicyErrors
sslPolicyErrors) [0x00000] in
:0 at
System.Net.Security.SslStream+c__AnonStorey7.<>m__A
(System.Security.Cryptography.X509Certificates.X509Certificate
cert, System.Int32[] certErrors)
[0x00000] in :0
at
Mono.Security.Protocol.Tls.SslClientStream.OnRemoteCertificateValidation
(System.Security.Cryptography.X509Certificates.X509Certificate
certificate, System.Int32[] errors)
[0x00000] in :0
at
Mono.Security.Protocol.Tls.SslStreamBase.RaiseRemoteCertificateValidation
(System.Security.Cryptography.X509Certificates.X509Certificate
certificate, System.Int32[] errors)
[0x00000] in :0
at
Mono.Security.Protocol.Tls.SslClientStream.RaiseServerCertificateValidation
(System.Security.Cryptography.X509Certificates.X509Certificate
certificate, System.Int32[]
certificateErrors) [0x00000] in
:0 at
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates
(Mono.Security.X509.X509CertificateCollection
certificates) [0x00000] in :0 at
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1
() [0x00000] in :0
at
Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process
() [0x00000] in :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 :0 at
Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback
(IAsyncResult asyncResult) [0x00000]
in :0 --- End of
inner exception stack trace --- at
Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback
(IAsyncResult asyncResult) [0x00000]
in :0 --- End of
inner exception stack trace --- at
System.Net.Mail.SmtpClient.Send
(System.Net.Mail.MailMessage message)
[0x00000] in :0
at csharpdungeon.MainClass.Main ()
[0x00000] in :0
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…