2017-04-23 3 views
3

Ich habe eine Frage zum Senden von E-Mails auf asp.net Core.Asp.Net Core MailKit: Das Remote-Zertifikat ist ungültig gemäß der Überprüfung

So habe ich diesen Code:

private void SendEmailLocalSMTP(string email, string subject, string message) 
{ 
     MimeMessage mailMsg = new MimeMessage(); 

     //TESTING ENVIRONMENT ONLY!!! 
     mailMsg.To.Add(new MailboxAddress("[email protected]", "[email protected]")); 

     // From 
     mailMsg.From.Add(new MailboxAddress("[email protected]", "Facturacion")); 

     // Subject and multipart/alternative Body 
     mailMsg.Subject = subject; 
     string html = message; 

     System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("[email protected]", "myPassword"); 

     // Init SmtpClient and send 
     using (var client = new SmtpClient()) 
     { 
      client.Connect("smtp.gmail.com", 587, SecureSocketOptions.StartTls); 
      client.AuthenticationMechanisms.Remove("XOAUTH2"); 
      client.Authenticate(credentials); 
      client.Send(mailMsg); 
      client.Disconnect(true); 
     } 
    } 

Von dem, was ich in anderen Beiträgen etwas verwandten gefunden haben, sollte dies ausreichen, sie senden MailKit verwenden, aber es ist nicht richtig funktioniert. Ich bekomme die folgende Ausnahme und ich weiß nicht, wie ich von hier fortfahren soll.

Dies ist die Ausnahme:

enter image description here

ich diese Frage gesehen habe, aber ich habe nicht viel Sinn daraus gemacht: How to send email by using MailKit?

Jede Hilfe ist sehr geschätzt, danke.

Antwort

3

Das Problem, auf das Sie stoßen, ist, dass Ihr System dem GMail SSL-Zertifikat nicht vertraut.

Der Grund dafür liegt höchstwahrscheinlich darin, dass das Google-Stammzertifizierungsstellenzertifikat nicht in den Stammzertifikatsspeicher importiert wurde.

Es gibt zwei Möglichkeiten, um dieses:

  1. Import Google Root-CA-Zertifikat in Ihr System
  2. Aufschalten der Zertifikatsüberprüfung (wie dies variiert auf Windows, Linux, MacOS abhängig machen), indem Sie Ihre eigene Einstellung Zertifikat Methodenvalidierung Rückruf bei client.ServerCertificateValidationCallback

weitere Informationen finden Sie in der FAQ: https://github.com/jstedfast/MailKit/blob/master/FAQ.md#InvalidSslCertificate

+0

Dank! Gute Antwort! –

Verwandte Themen