Я работаю над веб-приложением 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 на моей странице контакта, чтобы иметь возможность отправлять электронную почту с моего приложения?
Как об изменении номера порта 465 (SSL) вместо 587 (TLS)? –
@HwasooLee ok я меняю его на 465, теперь я получаю эту ошибку «Невозможно прочитать данные из транспортного соединения: net_io_connectionclosed. Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для Дополнительная информация об ошибке и где она возникла в коде. Сведения об исключении: System.IO.IOException: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed. " –
@HwasooLee, когда я использую 465, я получил исключение тайм-аута. я использую следующий код: «SmtpClient mailclient = новый SmtpClient (« smtp.gmail.com », 465); mailclient.Credentials = новый NetworkCredential (« *** @ gmail.com »,« **** »); mailclient.EnableSsl = true; " но я получил это исключение: Исключение типа «System.Net.Mail.SmtpException» произошло в System.dll, но не было обработано в коде пользователя Дополнительная информация: Операция истекло. –