Gmail больше не отправляет электронную почту - PullRequest
0 голосов
/ 21 февраля 2019

Я использовал учетную запись Gmail для отправки электронной почты из приложения, я установил «Разрешить менее безопасное приложение», а список «Недавние события безопасности» пуст.

До сегодняшнего дня он работал, но сегодня он начал говорить:

SMTP-сервер требует безопасного соединения, или клиент не был аутентифицирован.Ответ сервера: 5.5.1 Требуется аутентификация

Я все еще могу отправлять электронную почту, используя веб-сайт gmail и используя thunderbird, он все еще работает, но не в приложении,

, если я изменяюв моем коде имя пользователя и пароль для другой учетной записи Gmail, он работает, но не с этой конкретной.

это код, который я использую для отправки электронной почты:

var client = new SmtpClient
{
    Host = serverName,
    Port = 587, // TLS Port
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(userName, pass)
};

using (var message = new MailMessage(new MailAddress(userName), new MailAddress(to))
{
    Subject = subject,
    Body = body
})
{
    client.Send(message);
}

ОБНОВЛЕНИЕ: всенеожиданно он начал работать (на моем локальном компьютере у меня есть объединенные тесты для отправки электронной почты), не знаю почему, я проверил развернутое приложение, оно также начало отправлять электронные письма

ОБНОВЛЕНИЕ2: похоже,более глобальная проблема: https://productforums.google.com/forum/?nomobile=true&hl=en&utm_source=google-account&utm_medium=web#!topic/gmail/NETOwtLyWGI

1 Ответ

0 голосов
/ 21 февраля 2019

В своих поисках я нашел несколько вещей, которые нужно попробовать:

  1. Попробуйте изменить пароль на более сложный / безопасный пароль.Иногда кажется, что Gmail начинает требовать более сложные пароли, не сообщая об этом людям и / или не выдавая правильных ошибок.

  2. Удалить строку «EnableSsl = true» из кода.(или значение false) ( Ссылка )

  3. Тот факт, что ваш код просто перестал работать случайным образом, может указывать на что-то вроде сертификата с истекшим сроком действия, который все еще находится в процессепредставил.

Вопрос: Когда вы говорите, что можете отправлять электронную почту с этой учетной записи через браузер и через Thunderbird, отправляете ли вы эти письма с того же компьютера, на котором пытается приложение C #?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...