I have a question regarding email sending on asp.net core.
So I have this 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);
}
}
From what I have found in other posts somewhat related, this should be enough to send it using MailKit, however it's not working properly. I am getting the following exception and I don't know how to proceed from here.
This is the exception:
I've seen this question, but I haven't made much sense from it: How to send email by using MailKit?
Any help is highly appreciated, thanks.
The problem you are hitting is that your system does not trust the GMail SSL certificate.
Most likely the reason for this is because the Google Root CA certificate has not been imported into your Root certificate store.
There are two ways around this:
client.ServerCertificateValidationCallback
For more information, see the FAQ: https://github.com/jstedfast/MailKit/blob/master/FAQ.md#InvalidSslCertificate