Метод smtp.send генерирует исключение - PullRequest
1 голос
/ 20 мая 2011

Я использую .net версии 3.5 для отправки почты через мое веб-приложение

Я получаю следующую ошибку:

Для SMTP-сервера требуется безопасное соединение, или клиент не прошел проверку подлинности. Ответ сервера: 5.7.1 Клиент не прошел проверку подлинности

Что может быть причиной этого?

Ответы [ 3 ]

2 голосов
/ 20 мая 2011

Источник отсюда http://www.systemnetmail.com/faq/4.2.aspx

//create the mail message
MailMessage mail = new MailMessage();

//set the addresses
mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");

//set the content
mail.Subject = "This is an email";
mail.Body = "this is the body content of the email.";

//send the message
SmtpClient smtp = new SmtpClient("127.0.0.1");

//to authenticate we set the username and password properites on the SmtpClient
smtp.Credentials = new NetworkCredential("username", "secret"); 
smtp.Send(mail);

РЕДАКТИРОВАТЬ: эта ошибка означает, что она написана: SMTP-сервер нуждается в информации аутентификации (имя пользователя и пароль). Итак, вам нужно установить SmtpClient.Credentials.

0 голосов
/ 20 мая 2011

SMTP-сервер требует безопасного связи или клиента не было проверку подлинности. Ответ сервера было: 5.7.1 Клиента не было проверка подлинности

, поэтому вам нужно пройти аутентификацию, добавив учетные данные

smtpClient.Credentials = new NetworkCredential("username", "password"); 
0 голосов
/ 20 мая 2011

Попробуйте:

smtpclient.EnableSsl = true;
...