Работа с Яндекс.Почтой через SMTP на C#

C#   22 сентября 2014  Автор статьи:  

В начале сентября многие владельцы ящиков на Яндекс.Почте получили письма следующего содержания:

Вы получили это письмо, потому что пользуетесь сервисом Яндекс.Почта для домена.
Дело в том, что завтра, 16 сентября Яндекс.Почта перейдёт на протокол SSL. При передаче данных по IMAP/POP3/SMTP сервис будет требовать шифрование по SSL. Пожалуйста, измените настройки почтовых программ, которые используют владельцы почтовых ящиков, зарегистрированных в Вашем домене. Иначе с помощью этих программ нельзя будет получать и отправлять письма

Если раньше настраивать SmtpClient для работы с Яндекс.Почтой можно было следующим образом:
var client = new SmtpClient("smtp.yandex.ru");
client.Credentials = new NetworkCredential("test@yandex.ru", "test");

то 16 сентября такой способ, как и было обещано, перестал работать.
Согласно документации к Яндекс.Почте, теперь при отправке почты необходимо подключаться к SMTP-серверу через SSL-соединение на порт 465. Тем не менее, попытка отправки почты с использованием класса SmtpClient с такими настройками оканчивается неудачей. Работоспособный вариант теперь выглядит так:
var client = new SmtpClient("smtp.yandex.ru");
client.Credentials = new NetworkCredential("test@yandex.ru", "test");
client.Port = 25;
client.EnableSsl = true;

Настройки почты также можно задать в конфигурационном файле приложения (в этом случае нужно использовать конструктор SmtpClient без параметров):







Допустимо вместо порта 25 использовать порт 587.

  • Карапет

    Крутой сайт!!!

Научиться программировать

  • на Delphi

  • на Java

  • на C++