smtp.gmail.com: удаленный сертификат недействителен в соответствии с процедурой проверки: другие серверы работают нормально - PullRequest
0 голосов
/ 06 февраля 2020

Невозможно отправить письмо с помощью почтового сервера Googles smtp.gmail.com. Тот же код отлично работает для почтового сервера outlook.office365.com. Я искал и попробовал все фрагменты кода, которые смог найти на этом сайте. Ниже приведен снимок текущего состояния кода.

try
{
    string sSMTPServer = WebConfigurationManager.AppSettings["SMTPServer"];
    string sSMTPUsername = WebConfigurationManager.AppSettings["SMTPUsername"];
    string sSMTPPassword = WebConfigurationManager.AppSettings["SMTPPassword"];

    System.Net.Mail.SmtpClient emailClient = new System.Net.Mail.SmtpClient();
    emailClient.Host = sSMTPServer;
    emailClient.Credentials = new System.Net.NetworkCredential(sSMTPUsername, sSMTPPassword);
    emailClient.UseDefaultCredentials = true;
    emailClient.DeliveryMethod = SmtpDeliveryMethod.Network;

    emailClient.Port = 587; //produces "the remote certificate is invalid according to the validation procedure."
    //emailClient.Port = 465; produces "failure sending email" error

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    emailClient.EnableSsl = true;
    emailClient.Send(mailmessage);
    emailErrorHandler.errorThrown = false;
    emailErrorHandler.message = "Email Sent Successfully!";
}
catch (Exception ex)
{
    emailErrorHandler.errorThrown = true;
    emailErrorHandler.message = "error: " + ex.Message;
}
...