2015-08-20 3 views
0

Я работаю над веб-приложением asp.net mvc внутри своей визуальной студии. никакое мое веб-приложение в основном является веб-сайтом для публичных пользователей (поэтому я не использую https). Теперь мой веб-сайт предоставляет нормальные нами форма, и следующее сообщение Контакт метода действия: -не удалось отправить электронную почту с помощью Google Smtp-клиента

[HttpPost] 
     public ActionResult Contact(Contact c) 
     { 
      var mail = new MailMessage(); 

      // Set the to and from addresses. 
      // The from address must be your GMail account 
      mail.From = new MailAddress("****@gmail.com"); 
      mail.To.Add(new MailAddress("****@yahoo.com")); 

      // Define the message 
      mail.Subject = "New Feedback from Web Site"; 
      mail.IsBodyHtml = false; 
      //System.Environment.NewLine 
      mail.Body = "Dear Sirs," + System.Environment.NewLine + 
       "New Feedback has been submitted fromWeb site, with the following details :- " + System.Environment.NewLine + 
       "Name :- " + c.Name + System.Environment.NewLine + 
       "Email :- " + c.Email + 
       "Telephone :- " + c.Telephone + System.Environment.NewLine 
       + 
       "Message :- " + c.Message 


       ; 

      // Create a new Smpt Client using Google's servers 
      var mailclient = new SmtpClient(); 
      mailclient.Host = "smtp.gmail.com"; 
      mailclient.Port = 587; 

      // This is the critical part, you must enable SSL 
      mailclient.EnableSsl = true; 

      // Specify your authentication details 
      mailclient.Credentials = new System.Net.NetworkCredential(
              "***@gmail.com", 
              "***"); 

      mailclient.Send(mail); 
      TempData["message"] = string.Format("{Your Feedback has been submitted. Thanks"); 
      return RedirectToAction("Contact"); 

     } 

, но это поднимет следующее исключение: -

An exception of type 'System.Net.Mail.SmtpException' occurred in System.dll but was not handled in user code 

Additional information: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at 

так что у меня следующий вопрос: -

  • что является причиной ошибки?

  • Должен ли я использовать https на моей странице контакта, чтобы иметь возможность отправлять электронную почту с моего приложения?

+1

Как об изменении номера порта 465 (SSL) вместо 587 (TLS)? –

+0

@HwasooLee ok я меняю его на 465, теперь я получаю эту ошибку «Невозможно прочитать данные из транспортного соединения: net_io_connectionclosed. Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для Дополнительная информация об ошибке и где она возникла в коде. Сведения об исключении: System.IO.IOException: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed. " –

+0

@HwasooLee, когда я использую 465, я получил исключение тайм-аута. я использую следующий код: «SmtpClient mailclient = новый SmtpClient (« smtp.gmail.com », 465); mailclient.Credentials = новый NetworkCredential (« *** @ gmail.com »,« **** »); mailclient.EnableSsl = true; " но я получил это исключение: Исключение типа «System.Net.Mail.SmtpException» произошло в System.dll, но не было обработано в коде пользователя Дополнительная информация: Операция истекло. –

ответ

1

пытаются добавить учетные данные свойства,

SmtpClient mailclient = new SmtpClient("smtp.gmail.com", 587); 
mailclient.Credentials = new NetworkCredential("username", "pass"); 
+0

благодарит за ответ. теперь я попробовал следующий smtpClient mailclient = новый SmtpClient («smtp.gmail.com», 465); mailclient.Credentials = новый NetworkCredential ("*** @ gmail.com", "****"); mailclient.EnableSsl = true; , но я получил следующее исключение: «Исключение типа« System.Net.Mail.SmtpException »произошло в System.dll, но не было обработано в коде пользователя Дополнительная информация: Операция была отключена». –

+0

Я проверил свой gmail и, похоже, есть сообщение, отправленное в мою папку «Входящие», что gmail предотвратил попытку входа в мою учетную запись, я говорю, что это я, и я пытаюсь отправить форму контакта снова, но я получил то же исключение .. . Не уверен что происходит ? –

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