Как настроить SMTP для отправки писем через Яндекс.Почту
Для корректной отправки писем через SMTP Яндекс.Почты в 2026 году используйте сервер smtp.yandex.ru. Поддерживаются два порта: 465 (с шифрованием SSL/TLS) и 587 (с шифрованием STARTTLS). Вместо основного пароля от аккаунта необходимо использовать специальный пароль приложения, который генерируется в настройках безопасности Яндекса. Логин должен совпадать с полным адресом электронной почты.
Эти параметры универсальны для большинства почтовых клиентов (Outlook, Thunderbird, Apple Mail) и CMS (WordPress, Bitrix), а также для программной отправки через скрипты на PHP, Python или Node.js.
Важно: Стандартный порт 25 для исходящей почты Яндексом не используется и часто блокируется интернет-провайдерами. Всегда выбирайте 465 или 587.
Основные параметры подключения
Ниже приведена таблица с техническими характеристиками, необходимыми для настройки любого почтового клиента или сервиса.
Технические требования SMTP Яндекс.Почты
| Параметр | Значение |
|---|---|
| SMTP-сервер | smtp.yandex.ru |
| Порт (SSL/TLS) | 465 |
| Порт (STARTTLS) | 587 |
| Имя пользователя | Полный email (например, [email protected]) |
| Пароль | Пароль приложения (не основной пароль!) |
| Шифрование | SSL/TLS (для порта 465) или STARTTLS (для порта 587) |
| Аутентификация | Требуется (Login/Password) |
Выбор между портами зависит от вашего программного обеспечения:
- Порт 465 (Implicit TLS): Соединение шифруется сразу после установки контакта с сервером. Это наиболее безопасный и рекомендуемый вариант для современных систем.
- Порт 587 (Explicit TLS/STARTTLS): Соединение начинается в открытом виде, затем клиент отправляет команду старта шифрования. Используется, если клиент не поддерживает прямое SSL-соединение.
Что такое пароль приложения и как его создать
Начиная с усиления мер безопасности, Яндекс (как и другие крупные провайдеры) требует использования отдельных паролей для сторонних приложений. Основной пароль от аккаунта в поле «Пароль» почтового клиента работать не будет, если включена двухфакторная аутентификация или защита от подозрительных входов.
Инструкция по получению пароля:
- Войдите в свой аккаунт на Яндекс ID.
- Перейдите в раздел «Безопасность».
- Найдите блок «Пароли приложений» (может находиться в подразделе «Доступ к аккаунту»).
- Нажмите «Создать пароль приложения».
- Выберите тип устройства (например, «Почта») или введите произвольное название (например, «Сайт WordPress»).
- Система сгенерирует уникальный код. Скопируйте его и вставьте в настройки вашего почтового клиента вместо обычного пароля.
Пароль приложения отображается только один раз при создании. Если вы его забыли, нужно удалить старый и сгенерировать новый. Сохраняйте его в надежном менеджере паролей.
Примеры конфигурации для разработчиков
Если вы настраиваете отправку почты через код, убедитесь, что библиотека поддерживает современные стандарты шифрования (TLS 1.2 и выше).
PHP (PHPMailer)
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
$mail = new PHPMailer(true);
try {
// Настройки сервера
$mail->isSMTP();
$mail->Host = 'smtp.yandex.ru';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]'; // Полный адрес
$mail->Password = 'ваш_пароль_приложения'; // Пароль из настроек Яндекс ID
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Шифрование SSL
$mail->Port = 465;
// Отправитель и получатель
$mail->setFrom('[email protected]', 'Имя Отправителя');
$mail->addAddress('[email protected]');
// Контент
$mail->isHTML(true);
$mail->Subject = 'Тестовое письмо';
$mail->Body = 'Это тестовое сообщение через SMTP Яндекс.';
$mail->send();
echo 'Сообщение отправлено успешно';
} catch (Exception $e) {
echo "Ошибка отправки: {$mail->ErrorInfo}";
}
Python (smtplib)
import smtplib
from email.mime.text import MIMEText
sender = '[email protected]'
password = 'ваш_пароль_приложения'
receiver = '[email protected]'
message = MIMEText('Текст сообщения', 'plain')
message['Subject'] = 'Тест SMTP'
message['From'] = sender
message['To'] = receiver
try:
# Использование порта 465 с SSL контекстом
server = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
server.login(sender, password)
server.sendmail(sender, receiver, message.as_string())
server.quit()
print("Письмо успешно отправлено")
except Exception as e:
print(f"Ошибка: {e}")
Частые ошибки и способы их решения
Даже при правильных настройках могут возникать проблемы с подключением или доставкой. Вот самые распространенные сценарии:
-
Ошибка аутентификации (Authentication Failed)
- Причина: Использован основной пароль вместо пароля приложения.
- Решение: Сгенерируйте новый пароль приложения в Яндекс ID и обновите настройки.
-
Ошибка соединения (Connection Timed Out)
- Причина: Блокировка порта фаерволом или антивирусом.
- Решение: Проверьте настройки брандмауэра. Убедитесь, что исходящие соединения на порты 465 и 587 разрешены. Попробуйте сменить порт с 587 на 465 или наоборот.
-
Письма попадают в спам
- Причина: Отсутствие записей SPF/DKIM или подозрительная активность.
- Решение: Если вы используете свой домен, подключенный к Яндекс.Почте (Яндекс 360), обязательно настройте DNS-записи SPF и DKIM в панели управления доменом. Для обычных ящиков @yandex.ru убедитесь, что вы не делаете массовых рассылок с одного адреса.
-
Ошибка сертификата (SSL Certificate Error)
- Причина: Неверная дата и время на сервере или устаревшие корневые сертификаты.
- Решение: Синхронизируйте системное время на устройстве. Обновите операционную систему или библиотеки OpenSSL.
Для диагностики проблем используйте инструменты командной строки, такие как telnet smtp.yandex.ru 465 (для проверки доступности порта) или онлайн-сервисы проверки SMTP-соединений.
FAQ
Можно ли использовать SMTP Яндекс.Почты для массовых рассылок? Нет, личные тарифы Яндекс.Почты имеют лимиты на количество отправляемых писем в сутки (обычно около 100–300 писем). Для маркетинговых рассылок рекомендуется использовать специализированные сервисы (Unisender, SendPulse и др.) или тарифы Яндекс 360 для бизнеса с соответствующими настройками.
Что делать, если я забыл пароль приложения? Восстановить старый пароль приложения невозможно. Зайдите в раздел «Безопасность» Яндекс ID, удалите старый пароль приложения и создайте новый. Вставьте новый ключ в настройки вашей программы.
Работает ли авторизация OAuth 2.0 для SMTP? Да, Яндекс поддерживает OAuth 2.0, но его настройка сложнее и требуется регистрация приложения в Яндекс.OAuth. Для большинства пользователей и небольших проектов использование паролей приложений остается более простым и надежным способом.
Почему не работает порт 25? Порт 25 является стандартным для передачи почты между серверами (MTA), но не предназначен для отправки писем клиентами (MUA). Большинство провайдеров интернета блокируют этот порт для предотвращения спама. Используйте только 465 или 587.