SMTP Яндекса: сервер, порты, пароль приложения и лимиты

SMTP Яндекса: сервер, порты, пароль приложения и лимиты

SMTP-сервер Яндекса — smtp.yandex.ru, порт 465 с SSL или 587 со STARTTLS. Вместо обычного пароля нужен пароль приложения, а в настройках Почты должен быть включён доступ почтовых программ по IMAP, даже если вы собираетесь только отправлять. Через SMTP с одного ящика уходит не больше 300 писем в сутки, и каждый получатель считается отдельным письмом.

Ниже — параметры для личной Яндекс Почты и для Яндекс 360 для бизнеса, пошаговое включение SMTP, проверка соединения из консоли, разбор ошибок, которые чаще всего видят в логах CMS и 1С, и граница, за которой почту сайта лучше увести с личного ящика на отдельный релей.

Параметры SMTP Яндекса

Справка Яндекса даёт одни и те же значения для личной почты и для ящиков Яндекс 360 для бизнеса:

Параметр Значение
Сервер исходящей почты smtp.yandex.ru
Порт и шифрование 465, SSL (TLS с первого байта)
Запасной порт 587, если клиент начинает соединение без шифрования и переходит на STARTTLS
Сервер входящей почты (IMAP) imap.yandex.ru, порт 993, SSL
Авторизация обязательна, логин и пароль приложения
Логин, личная почта адрес ящика; для login@yandex.ru подходит и часть до @, но справка советует вводить адрес целиком
Логин, Яндекс 360 для бизнеса только полный адрес ящика, например info@example.ru

Если вы подключаетесь не из России, справка предлагает для IMAP адрес imap.ya.ru. Для SMTP отдельного адреса не указано.

Шифрование выбирайте под порт. В PHPMailer, Django и большинстве CMS порту 465 соответствует режим ssl (или SMTPS), порту 587 — режим tls (STARTTLS). Если перепутать пару (465 со STARTTLS или 587 с SSL), соединение зависнет до таймаута без понятной ошибки. Это одна из самых частых причин, по которым «SMTP Яндекса не отвечает».

POP3 Яндекс по-прежнему поддерживает (pop.yandex.ru, порт 995), но в справке прямо сказано, что протокол больше не развивают. Для приёма почты используйте IMAP.

Как включить SMTP в Яндекс Почте

Отдельного переключателя «SMTP» в настройках нет: отправка через почтовые программы открывается вместе с доступом по IMAP. Поэтому «включить SMTP» в Яндексе на деле означает два действия.

Шаг 1. Разрешить почтовые программы

  1. Откройте Яндекс Почту, нажмите на шестерёнку и выберите «Все настройки».
  2. Перейдите в раздел «Почтовые программы».
  3. В блоке «Разрешить доступ к почтовому ящику с помощью почтовых клиентов» включите «С сервера imap.yandex.ru по протоколу IMAP».
  4. Проверьте, что включена опция «Пароли приложений и OAuth-токены».
  5. Сохраните изменения.

Шаг с IMAP обязателен и для приложения, которое только отправляет. Инструкция Яндекса «Настроить только отправку по протоколу SMTP» начинается именно с него, а без него сервер отвечает на авторизацию ошибкой 535, даже если пароль верный.

Шаг 2. Создать пароль приложения

Обычный пароль от Яндекс ID в сторонних почтовых программах не работает: нужен отдельный пароль приложения.

  1. Откройте id.yandex.ru, вкладку «Безопасность».
  2. В разделе «Доступ к вашим данным» выберите «Пароли приложений».
  3. Выберите тип приложения: почтовый клиент (IMAP, POP3, SMTP).
  4. Дайте паролю название — по имени сайта или программы, для которой он создаётся.
  5. Нажмите «Далее» и сразу скопируйте пароль.

Две детали из справки, которые экономят час отладки. Пароль показывается только один раз: если окно закрыто до того, как вы его сохранили, удалите пароль и создайте новый. И пароль начинает действовать через 2–3 часа, поэтому 535 сразу после создания не всегда означает ошибку в настройках.

Заводите отдельный пароль на каждое приложение. Тогда при утечке конфига одного сайта достаточно удалить один пароль, а остальные программы продолжат работать.

Шаг 3. Указать параметры в приложении

Так выглядит минимальная отправка на Python через порт 465:

import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Магазин <shop@yandex.ru>"
msg["To"] = "client@example.ru"
msg["Subject"] = "Заказ №4417 принят"
msg.set_content("Заказ принят, доставка завтра до 18:00.")

with smtplib.SMTP_SSL("smtp.yandex.ru", 465) as smtp:
    smtp.login("shop@yandex.ru", "ПАРОЛЬ_ПРИЛОЖЕНИЯ")
    smtp.send_message(msg)

Адрес в From должен совпадать с ящиком, под которым вы авторизовались. Яндекс не отправляет письма от чужого имени и отвечает на такую попытку Sender address rejected: not owned by auth user.

SMTP Яндекс 360 для бизнеса: в чём разница

Сервер, порты и шифрование у Яндекс 360 для бизнеса такие же, как у личной почты. Различий на практике три.

Логин — только полный адрес. Для ящика info@example.ru логином будет info@example.ru, а не info. Короткий логин здесь даёт ошибку авторизации.

Адрес отправителя — ваш домен. Письмо уходит от info@example.ru, и Яндекс подписывает его DKIM-ключом домена, если вы опубликовали этот ключ в DNS. Справка Яндекс 360 предлагает SPF вида v=spf1 redirect=_spf.yandex.net, а если с домена пишут и другие сервисы — одну общую запись с include:_spf.yandex.net. Без DKIM и SPF такие письма чаще попадают в спам у получателей. Состояние записей покажет проверка DNS для почты.

Лимит через веб-интерфейс выше, через SMTP — тот же. В справке Яндекс 360 для бизнеса указано 10 000 писем в сутки при отправке из веб-интерфейса по спискам рассылки, но для почтовых программ и SMTP лимит прежний: 300.

Лимиты отправки SMTP Яндекса

Справка Яндекса называет суточные ограничения по способу отправки:

Способ отправки Писем в сутки
Мобильное приложение 50
Веб-интерфейс 1 000
Веб-интерфейс, Яндекс 360 для бизнеса, со списками рассылки 10 000
Почтовая программа и SMTP 300

Считаются получатели, а не сообщения: письмо на 10 адресов — это 10 писем из суточной нормы, и в счёт идут поля «Кому», «Копия» и «Скрытая копия».

При превышении лимита Яндекс блокирует отправку с ящика; вход и получение писем продолжают работать. Блокировка снимается сама через 24 часа, но только если за это время вы не пытались отправить письмо. Каждая попытка продлевает её ещё на сутки, поэтому сайт, который каждые пять минут повторяет отправку из очереди, держит ящик заблокированным бесконечно.

Справка отдельно предупреждает, что система может заблокировать отправку и раньше лимита, если увидит однотипные письма, рекламу или коммерческие предложения. Для сайта это значит, что 300 — верхняя граница, и заблокировать ящик могут раньше: одинаковые уведомления о заказах на десятки адресов подряд выглядят ровно так.

Перечисленные значения взяты из справки Яндекса на момент публикации. Перед тем как закладывать их в расчёты, сверьтесь со страницей «Отправить много писем» на yandex.ru/support.

Как проверить соединение с SMTP Яндекса

Если приложение не отправляет и молчит, сначала отделите сеть от авторизации. Команда для порта 465:

openssl s_client -connect smtp.yandex.ru:465 -crlf -quiet

Для порта 587:

openssl s_client -starttls smtp -connect smtp.yandex.ru:587 -crlf -quiet

В ответ должно прийти приветствие с кодом 220. Если соединение не устанавливается вовсе, порт закрыт у хостинга: многие VPS и виртуальные хостинги режут исходящий SMTP, и никакая смена пароля это не исправит. Убедиться, что сам сервер отвечает, поможет проверка SMTP-сервера: она подключается к нему из интернета, а не с вашего хостинга, показывает приветствие, поддержку STARTTLS и время ответа.

Частые ошибки SMTP Яндекса

535 5.7.8 Error: authentication failed: Invalid user or password! Сервер принял соединение, но отклонил логин. Почти всегда это обычный пароль от аккаунта вместо пароля приложения, короткий логин на ящике Яндекс 360 или пароль приложения, созданный меньше 2–3 часов назад. Подробный разбор кода — на странице 535 5.7.8 authentication failed.

535 5.7.8 Error: authentication failed: This user does not have access rights to this service. Пароль верный, но в настройках Почты выключен доступ почтовых программ по IMAP или выключена опция «Пароли приложений и OAuth-токены». Включите обе в разделе «Почтовые программы».

Sender address rejected: not owned by auth user. Адрес в поле «От кого» не совпадает с ящиком, под которым прошла авторизация. Так бывает, когда CMS отправляет от noreply@site.ru, а логинится в site@yandex.ru. Исправьте адрес отправителя в настройках сайта.

Sender address rejected: Access denied и Send auth command first. Приложение пытается отправить письмо без авторизации. Включите в нём опцию «SMTP требует аутентификации».

Message rejected under suspicion of SPAM. Фильтр Яндекса отклонил само письмо. Справка советует отправить такое же письмо через веб-интерфейс и проверить компьютер на вирусы; для сайта причина обычно в однотипных письмах или подозрительных ссылках. Если этот ответ приходит от Яндекса как от получателя, причины и порядок действий описаны на странице 550 5.7.1 Message rejected under suspicion of SPAM.

Таймаут без кода ответа. Порт закрыт у хостинга или шифрование не соответствует порту. Проверьте пару «465 + SSL» или «587 + STARTTLS» и выполните команды из раздела выше.

Когда почту сайта пора увести с ящика Яндекса

Для переписки человека личный ящик подходит хорошо. Для приложения, которое шлёт уведомления, у него есть границы, и они видны заранее.

Объём. 300 получателей в сутки — это около 300 подтверждений заказов. Интернет-магазин с рассылкой по базе или сервис с регистрацией упираются в потолок в первый же удачный день.

Блокировка задевает людей. Лимит считается на ящик целиком. Если сайт и менеджер отправляют с одного адреса, исчерпанная сайтом норма останавливает переписку менеджера с клиентами на сутки или дольше.

Отправитель привязан к ящику. Яндекс отправляет только от имени авторизованного адреса, поэтому noreply@, orders@ и support@ требуют трёх ящиков, трёх паролей приложений и трёх отдельных лимитов.

Не видно, что стало с письмом. SMTP Яндекса принимает письмо и дальше ничего не сообщает приложению. Отказ получателя придёт в ящик обычным письмом, и разбирать его некому.

Если хотя бы один пункт про вас, отправку из приложения стоит перевести на транзакционный релей, а ящик Яндекса оставить для переписки. Корпоративная почта при этом никуда не переезжает: релей настраивается на отдельном поддомене.

Как это устроено в FMailer

В FMailer приложение отправляет через smtp.fmailer.ru с логином и паролем токена домена. Порты: 587 и 8587 со STARTTLS, 465 и 8465 с SSL/TLS; дублирующие 8587 и 8465 нужны, когда хостинг закрывает стандартные. Параметры подключения и примеры для фреймворков — в документации по SMTP.

Чтобы подключить домен, вы делегируете поддомен через NS-записи, например mail.example.ru; после этого FMailer сам публикует и поддерживает DKIM, SPF и DMARC. MX и почта сотрудников основного домена остаются у Яндекса. Порядок действий описан в разделе «Настройка NS-записей».

Суточного потолка, как у ящика, нет, но есть прогрев домена: новый домен начинает с 200 писем в сутки, а дальше потолок удваивается от фактически доставленного объёма. Письма сверх потолка не отклоняются, они встают в очередь и уходят позже. Подробности — в разделе о лимитах отправки.

Частые вопросы

Какой порт SMTP у Яндекса — 465 или 587?

Оба. Основной — 465 с SSL, запасной — 587 для клиентов, которые начинают соединение без шифрования и включают STARTTLS. Выбирайте тот, что не закрыт у вашего хостинга, и ставьте режим шифрования под порт.

Почему пароль от Яндекс ID не подходит для SMTP?

Сторонние почтовые программы принимают только пароль приложения. Его создают в Яндекс ID, в разделе «Безопасность» → «Пароли приложений», и он даёт доступ только к почте по протоколам, а не ко всему аккаунту.

Нужно ли включать IMAP, если я только отправляю письма?

Да. Доступ по SMTP открывается вместе с опцией «С сервера imap.yandex.ru по протоколу IMAP» в разделе «Почтовые программы». Без неё сервер отвечает 535 … This user does not have access rights to this service.

Сколько писем можно отправить через SMTP Яндекса в сутки?

По справке Яндекса — 300, и для личной почты, и для Яндекс 360 для бизнеса. Считаются получатели во всех полях, включая скрытую копию. При превышении отправка блокируется на 24 часа, и каждая новая попытка продлевает блокировку.

Можно ли отправлять через SMTP Яндекса с адреса на своём домене?

Да, если домен подключён к Яндекс 360 для бизнеса: логином будет полный адрес ящика на домене. Отправлять от имени адреса, которого нет среди ваших ящиков, нельзя.

Подходит ли SMTP Яндекса для рассылок?

Нет. Лимит в 300 получателей и ранняя блокировка однотипных писем делают ящик непригодным для рассылок. Для массовой почты нужен сервис, который отправляет с вашего домена и даёт отписку в один клик.

Итог

Для SMTP Яндекса нужны четыре вещи: сервер smtp.yandex.ru, порт 465 с SSL или 587 со STARTTLS, включённый доступ почтовых программ по IMAP и пароль приложения из Яндекс ID. Логин на ящике Яндекс 360 для бизнеса — всегда полный адрес. Отправку через SMTP ограничивают 300 получателей в сутки на ящик, а превышение блокирует отправку минимум на сутки.

Этого достаточно для почтового клиента, принтера или формы обратной связи на небольшом сайте. Когда письма отправляет приложение и их судьба важна, ящик становится узким местом.

Попробовать FMailer

Подключите поддомен на fmailer.ru: FMailer сам опубликует DKIM, SPF и DMARC, а в приложении достаточно заменить smtp.yandex.ru на smtp.fmailer.ru и пароль приложения на токен домена. Почта сотрудников остаётся в Яндексе, а у каждого письма из приложения в журнале виден настоящий ответ сервера получателя.

Подключить домен на fmailer.ru →