Вы можете попытаться обработать событие проверки сертификата, чтобы упростить определение причины, по которой удаленный сертификат считается недействительным.Для этого перед вызовом метода SendEmail добавьте следующую строку:
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
и затем предоставьте реализацию для ValidateServerCertificate, например
public bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
// replace with proper validation
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
else
return false;
}
Параметры, полученные с помощью ValidateServerCertificate, должны предоставить вам подробную информациюпочему проверка не проходит (проверьте sslPolicyErrors).У вас также есть доступ к удаленному сертификату и цепочке центров сертификации.
Один из возможных сценариев состоит в том, что вы запускаете веб-сайт под другим пользователем, нежели консольное приложение, и этот пользователь не доверяет издателю (или посреднику).авторитет в цепочке) сертификата Gmail.Это может произойти, если вы каким-либо образом удалили сертификаты из локального компьютера / сертификатов доверенного корня в хранилище сертификатов Windows.