2016-02-26 1 views
1

Я тестирую нормально работающий модуль электронной почты (.Net 4.5.2, C#) на основе класса System.Net.Mail.SmtpClient, к которому я добавил поддержку TLS. Для этого я пытаюсь подключиться к своей личной учетной записи googlemail.com, используя те же параметры smtp, которые я использую в своем браузере. Я создал объект SmtpClient какКак подключиться к googlemail.com с помощью TLS и System.Net.Mail.SMTPCLient?

SmtpClient mailer = new SmtpClient(); 
mailer.Host = "tls://smtp.gmail.com"; 
mailer.Credentials = new System.Net.NetworkCredential("[email protected]","myGooglemailPassword"); mailer.EnableSsl = true; 
mailer.UseDefaultCredentials = true; // although msdn states that this is necessary for TLS, it doesn't actually seeme to make any difference 
mailer.Port = 587; 
var message = new MailMessage(); 
message.Subject="dontcare"; 
message.Body = "dontcare" 
message.To.Add("[email protected]"); 
message.From = new MailAddress("[email protected]"); 
mailer.Send(message); 

Проблема заключается в том, что отвергается Gmail с ошибкой

Сервер SMTP требует защищенного соединения или клиент не проверку подлинности. Ответ сервера: 5.5.1 Требуется аутентификация. Узнать больше на

Учитывая, что моя учетная запись gmail работает нормально для меня в противном случае, чего мне не хватает в реализации .Net?

+0

У вас есть дополнительная информация об ошибке? – D4rkTiger

+0

Возможно, вам потребуется включить менее безопасные приложения для входа в вашу учетную запись, см. Здесь: https://support.google.com/accounts/answer/6010255?hl=ru – HaukurHaf

+0

Это буквально сообщение SmtpException. –

ответ

0

Проблема заключалась в том, что по умолчанию Googlemail/Gmail блокирует источники электронной почты, которые он считает «менее безопасными» (пример Outlook - пример). Вы должны отключить это в настройках учетной записи Gmail, а затем проблема исчезнет.