Использование Smtpclient Для Отправки Почты Через Smtp-Сервер Яндекса С Ssl

Если вы используете Яндекс.

Почту для домена, то, скорее всего, вы уже знаете, что неделю назад, 16 сентября 2014 года, SMTP-сервер Яндекса smtp.yandex.ru полностью перешел на SSL, о чем компания добросовестно уведомила клиентов.

(Говорю без всякого сарказма, они действительно работали добросовестно).

В списке рассылки приведены инструкции для популярных почтовых клиентов о том, какие изменения необходимо в них внести, чтобы почта работала после перехода на SSL: Шифрование передаваемых данных .

Короче говоря, в настройках SMTP нужно указать порт 465 и включить опцию SSL-шифрования.

Однако если у вас есть собственное приложение .

Net, использующее стандартный класс для отправки почты System.Net.Mail.SmtpClient , то при попытке использовать эти инструкции будет выдано исключение с сообщением о тайм-ауте.

Прочитав приведенные выше инструкции, мы ожидаем, что следующий код запустится без проблем:

  
   

var msg = new MailMessage(from, to, subj, body); var smtpClient = new SmtpClient("smtp.yandex.ru", 465); smtpClient.Credentials = new NetworkCredential(username, pwd); smtpClient.EnableSsl = true; smtpClient.Send(msg);

Однако, как было отмечено выше, при попытке отправить письмо генерируется исключение.

Для работы кода все равно нужно использовать стандартный порт SMTP 25, как и для незащищенных соединений, но указать EnableSsl=true:

var msg = new MailMessage(from, to, subj, body); var smtpClient = new SmtpClient("smtp.yandex.ru", 25); smtpClient.Credentials = new NetworkCredential(username, pwd); smtpClient.EnableSsl = true; smtpClient.Send(msg);

Это может быть связано с реализацией явного режима SSL в SmtpClient, когда соединение устанавливается через порт 25 в незашифрованном виде, а затем переключается в безопасный режим.

Однако т.к.

решение не очевидно, я решил опубликовать его, чтобы сэкономить время тем, кто столкнется с этой проблемой.

Теги: #.

net smtp yandex ssl #.

NET

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.