2015-02-04 4 views
0

Я пытаюсь отправить через gmail в C# с помощью stmp.gmail.com, но продолжаю получать аутентификацию. 5.5.1 проблема под портом 587, а под портом 465 - время ожидания операции.не удалось отправить электронную почту через gmail

См. Мой код и дайте мне знать, как и где я ошибаюсь и как разрешать.

благодаря

private void SendMessage(object sender, RoutedEventArgs e) 
    { 

     var connected = ConnectedToInternet(); 
     if (!connected) return; 

     var Client = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 465, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      Credentials = new NetworkCredential(txtUserName.Text, txtPassword.Password), 
      Timeout = 20000 
     }; 

     var m = new MailMessage { Subject = txtSubject.Text, IsBodyHtml = true, Body = txtMessage.Text }; 
     foreach (var email in LbEmailAddresses.Items) 
     { 
      try 
      { 
       m.To.Add(new MailAddress(email.ToString().Trim())); 
       m.From = new MailAddress(txtUserName.Text); 
       Client.Send(m); 
       m.To.Clear(); 
       Success.Add(email.ToString()); 
      } 
      catch (SmtpException esException) 
      { 
       Errors.Add("Error sending to " + email + " " + esException.Message); 
      } 
      catch (Exception ex) 
      { 
       Errors.Add("Error sending to " + email + " " + ex.Message); 

      } 

     } 
     var message = new StringBuilder(); 
     message.AppendLine(Success.Count() + " Sent Successfully"); 
     message.AppendLine(Errors.Count() + " Errors Click See Error Log for more information"); 
     if (CustomMessageBox.ShowYesNo(message.ToString(), 
      "Result", 
      "Ok", 
      "View Log") != MessageBoxResult.No) return; 
     using (var sw = new StreamWriter("log.txt")) 
     { 
      foreach (var error in Errors) 
      { 
       sw.WriteLine(error); 
      } 
      Process.Start("log.txt"); 
     } 
    } 
+0

Вы пробовали порт 25? –

+0

нет, поскольку я искал использование SSL, но попробую сейчас –

+0

, это может объяснить, что некоторые из них просто получили сообщение от Google о заблокированном приложении. Просмотрите страницу своей учетной записи на странице https://security.google.com/settings/security/activity, чтобы узнать, что-то подозрительно. Тот, кто пытался войти в вашу учетную запись, знает ваш пароль; мы рекомендуем вам сразу же его изменить. Если это был вы Вы можете переключиться на приложение Google, такое как Gmail, для доступа к вашей учетной записи (рекомендуется) или изменить свои настройки на странице https://www.google.com/settings/security/lesssecureapps, чтобы ваша учетная запись более не защищены современными стандартами безопасности. –

ответ

0

Мой комментарий выше об электронной почте от Google ... нужно сделать счет менее безопасным, если вы собираетесь посылать из C# или другой Google одобрил приложения.

Смежные вопросы