SMTP исключение при реализации функции электронной почты - PullRequest
0 голосов
/ 03 июля 2010

Я получаю следующее исключение при реализации почтовой функции для моего локального компьютера. Пожалуйста, помогите мне с этим

Для SMTP-сервера требуется безопасное соединение, или клиент не прошел проверку подлинности.Ответ сервера был: 5.7.0 Сначала необходимо выполнить команду STARTTLS.21sm1768418wfi.5

1 Ответ

1 голос
/ 03 июля 2010

Это именно так, как описано в сообщении.

К какому-либо SMTP-серверу, к которому вы пытаетесь подключиться, требуется использовать SSL для этого подключения, в дополнение к предоставлению имени пользователя и пароля.

SMTP через SSL обычно происходит на порту 465, однако вам необходимо проверить этот параметр у своего почтового провайдера.

Таким образом, вам нужно указать правильный порт и указать флаг UseSSL.

При использовании C # это может выглядеть так:

 MailMessage mail = new MailMessage();
 SmtpClient SmtpServer = new SmtpClient("smtp.emailserver.com");

 mail.From = new MailAddress("your_email_address@yahoo.com");
 mail.To.Add("to_address@coolguy.com");
 mail.Subject = "Test Mail";
 mail.Body = "This is a test message";

 SmtpServer.Port = 465;
 SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
 SmtpServer.EnableSsl = true; //<--- this will do SSL for you.

 SmtpServer.Send(mail);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...