2012-02-16 3 views
0

Я пытаюсь отправить электронную почту своим пользователям сайта (ASP.NET, VS2010), в настоящее время я использую свою учетную запись gmail для отправки электронной почты, но я получаю следующее ошибка:Ошибка отправки электронной почты с помощью веб-приложения ASP.NET

ex = {"Failure sending mail."} 
InnerException = {"The remote name could not be resolved: '[email protected]'"} 

это мой код:

MailMessage mailObj = new MailMessage("[email protected]", "[email protected]", "test", "test2"); 
      SmtpClient SMTPServer = new SmtpClient("[email protected]"); 
      SMTPServer.Credentials = new System.Net.NetworkCredential("mygmailaccount", mygmailpassword); 
      try 
      { 
       SMTPServer.Send(mailObj); 
      } 
      catch (Exception ex) 
      { 
       string a = ex.Message; 
      } 

что происходит здесь не так? Должен ли я что-то делать в моем web.config? как я могу найти smtp-сервер моего собственного хоста?

ответ

6

[email protected] является неправильным. Вероятно, вы имели в виду smtp.gmail.com. См. Следующий вопрос для полного примера.

Sending email in .NET through Gmail

+0

спасибо, я изменил его на smtp.gmail.com и получил следующее сообщение об ошибке: Сообщение = «Сервер SMTP требуется безопасное соединение или клиент не был аутентифицирован. Ответ сервера был: 5.7.0. Сначала нужно выпустить команду STARTTLS. x22sm13327733bkw.11 « –

+0

Посмотрите на ответ по ссылке. Решение находится прямо здесь. Вам нужно включить SSL и запустить на порту 587 –

+0

да, спасибо, это было просто здорово! но что, если я собираюсь отправлять электронную почту с моего собственного хоста? как я могу найти его порт и smtp? –

1

вы не установлены параметры Gmail правильно:

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587); 
    smtpClient.EnableSsl = true; 
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtpClient.Credentials = new NetworkCredential("[email protected]", "password"); 
Смежные вопросы