Ошибка: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.7.0 Требуется аутентификация - PullRequest
2 голосов
/ 28 января 2020

Мой веб-сайт работает через порт 443, и я купил учетную запись электронной почты G Suite у Google с моим собственным доменным именем. Это мой c# код:

        SmtpClient objSmtp = new SmtpClient("smtp.gmail.com", "587");
        objSmtp.UseDefaultCredentials = false;                      
        NetworkCredential NetCreds = new NetworkCredential("service@MyDomainName.com", "Pass");
        objSmtp.Credentials = NetCreds;
        objSmtp.EnableSsl = true;

        try
        {
            objSmtp.Send(objMail);                
        }
        catch(Exception ex)
        {                
            objSmtp.Send(objMail);                
        }
        finally
        {
            objMail.Dispose();
        }

Я включил двухфакторную аутентификацию и использовал новый сгенерированный пароль для аутентификации. Кроме того, я попытался использовать другой порт 465. Не повезло.

Когда я использовал свою личную учетную запись Gmail "@ gmail.com", когда для параметра Разрешить менее безопасные приложения установлено значение ON, он работал нормально. Теперь, после покупки в подписке G Suite у меня возникли проблемы. Я получаю следующую ошибку: «SMTP-серверу требуется защищенное соединение, или клиент не был аутентифицирован. Ответ сервера: 5.7.0 Требуется аутентификация».

Может кто-нибудь определить проблему?

1 Ответ

0 голосов
/ 29 января 2020

Виктор, спасибо за ваш ответ! Теперь мы знаем, что «Подозрительная попытка входа» не вызывает проблемы, потому что вы авторизовали доступ. Единственное, о чем я могу думать, это то, что Google ожидает SSL-соединение.

Мы можем сделать это одним из двух способов. Если вы хотите sh продолжать использовать TLS, вы можете установить свойство SmtpClient для включения SSL, установив для EnableSsl значение true.

SmtpClient objSmtp = new SmtpClient("smtp.gmail.com", "587");
objSmtp.EnableSsl = true;

или для порта значение 465

SmtpClient objSmtp = new SmtpClient("smtp.gmail.com", "465");

Надеюсь, это поможет!

...