SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Письма со своего VPS во «Входящие» Яндекса и Mail.ru

Stalwart отправляет письма, но Яндекс и Mail.ru кладут их в спам или отклоняют? Проверяем PTR и HELO, чёрные списки, IPv6 без PTR, Постмастер Mail.ru и прогрев нового IP.

Как довести письма со своего сервера до Яндекса и Mail.ru

Чтобы письма с вашего VPS попадали во «Входящие» Яндекс Почты и Mail.ru, нужны четыре вещи, которые DNS-записи домена не решают. Первая: PTR-запись IP-адреса совпадает с именем в HELO. Вторая: IP чист по чёрным спискам. Третья: исходящий IPv6 либо настроен полностью, либо выключен. Четвёртая: объём писем растёт постепенно. SPF, DKIM и DMARC остаются обязательной базой. Но если база уже есть, а письма всё равно в спаме, причина почти всегда в этих четырёх пунктах.

Эта статья продолжает установку почтового сервера Stalwart на VPS. Сервер уже принимает почту, Roundcube работает, домен подписывает письма. Теперь задача другая: письмо должно дойти до человека, у которого ящик на yandex.ru, mail.ru, bk.ru или gmail.com. Основы SPF, DKIM и DMARC здесь не повторяются. Если политика DMARC у вас ещё p=none, сначала прочитайте, как перевести DMARC с p=none на quarantine и reject, а потом возвращайтесь.

Почему у Яндекса и Mail.ru свои правила

У российского получателя ящик почти всегда у одного из трёх провайдеров: Яндекс, Mail.ru (VK) или Gmail. Каждый из них сам решает, куда положить ваше письмо. Общих стандартов они придерживаются, но инструменты для отправителя у них разные, и тексты отказов тоже разные.

Главное отличие стоит знать заранее: у Mail.ru есть рабочий кабинет отправителя, а у Яндекса его больше нет. Поэтому для Mail.ru вы смотрите статистику, а для Яндекса читаете ответы его серверов в журнале своей очереди.

Где Stalwart показывает DKIM-записи

Прежде чем что-то регистрировать, убедитесь, что в DNS опубликованы именно те ключи, которыми Stalwart подписывает письма. В веб-интерфейсе Stalwart откройте раздел управления доменами (Management › Domains) и выберите свой домен. На странице домена Stalwart показывает готовые DNS-записи: MX, SPF, DMARC и DKIM. Документация Stalwart также описывает выгрузку этих записей в виде файла зоны через CLI.

DKIM-записей обычно две. Имя селектора состоит из года, месяца и буквы, например 202404e._domainkey и 202404r._domainkey. Буква r означает ключ RSA, буква e означает ключ Ed25519. Опубликуйте обе записи. Получатель, который не поддерживает Ed25519, проверит RSA-подпись.

Проверьте, что запись действительно видна в DNS. Подставьте свой селектор и домен:

sudo apt install -y dnsutils netcat-openbsd
dig +short TXT 202404r._domainkey.example.ru

В ответе должна быть строка, которая начинается с v=DKIM1. Пустой ответ значит, что запись не опубликована или опубликована под другим именем. Частая причина: панель DNS сама дописывает домен, и запись получает имя 202404r._domainkey.example.ru.example.ru.

Запомните домен из тега d= в подписи. Его видно в заголовке DKIM-Signature любого отправленного письма. Он понадобится для Постмастера Mail.ru.

PTR-запись и имя в HELO

PTR-запись (pointer record, обратная DNS-запись) отвечает на вопрос «какое имя у этого IP-адреса». HELO, а в современном SMTP команда EHLO, это имя, которым ваш сервер представляется при подключении к чужому серверу. Получатель сравнивает три вещи: IP, с которого пришло соединение, PTR этого IP и прямую A-запись имени из PTR. Все три должны указывать друг на друга.

Проверьте это сами. Пусть IP сервера 203.0.113.10, а имя mail.example.ru:

dig +short -x 203.0.113.10
dig +short A mail.example.ru

Первая команда должна вернуть mail.example.ru., вторая должна вернуть 203.0.113.10. Если первая команда возвращает имя вида 203-0-113-10.vps.provider.net, PTR оставлен по умолчанию. Mail.ru прямо называет такой случай в своей справке для разработчиков. Сервер Mail.ru отвечает так:

550 Sorry, we do not accept mail from hosts with dynamic IP or generic DNS PTR-records

Справка Mail.ru объясняет причину: обратная запись похожа на запись динамического адреса домашней сети, а с таких адресов Mail.ru почту не принимает. Решение указано там же: изменить PTR так, чтобы он совпадал с именем почтового сервера. По данным Mail.ru, изменение доходит до их серверов в течение суток.

Как получить нужный PTR

PTR хранится не в вашей DNS-зоне, а в зоне того, кому принадлежит блок IP-адресов. Это ваш хостинг-провайдер. Поэтому изменить PTR через панель регистратора домена нельзя. У одних провайдеров поле для PTR есть в панели управления VPS, у других его меняют через запрос в поддержку. Сначала поищите в панели поле «Reverse DNS» или «PTR». Если его нет, напишите в поддержку. В запросе укажите:

  1. IP-адрес сервера, для которого нужен PTR.
  2. Нужное имя, например mail.example.ru.
  3. Что A-запись этого имени уже указывает на этот IP.
  4. Если у сервера есть IPv6-адрес, такой же запрос для него.

Многие провайдеры проверяют пункт 3 перед изменением. Поэтому сначала создайте A-запись, а потом пишите.

Какое имя Stalwart называет в EHLO

По умолчанию Stalwart представляется именем сервера, которое вы указали при установке. Оно должно совпадать с PTR. Если имена разные, имя для EHLO можно задать отдельно. В Stalwart 0.16 это поле ehloHostname в стратегии соединения: Settings › MTA › Outbound › Connection Strategies. Там же можно указать свой EHLO для каждого исходящего адреса в списке sourceIps.

Проверить, как сервер представляется на самом деле, проще всего по заголовкам. Отправьте письмо на свой ящик в Gmail или Mail.ru и откройте исходный текст письма. В заголовке Received, который добавил сервер получателя, после слова from стоит имя из EHLO.

IPv6 без PTR: самая частая скрытая ошибка

Многие VPS сразу получают IPv6-адрес. Stalwart 0.16 по умолчанию пробует сначала IPv4, потом IPv6: это стратегия v4ThenV6 в маршруте mx. Но если IPv4-соединение с сервером получателя не установилось, Stalwart переходит на IPv6. Тогда письмо уходит с IPv6-адреса, у которого PTR обычно не задан вовсе.

Gmail в этом случае отклоняет письмо. В требованиях Google к отправителям приведён такой текст ошибки:

Message does not meet IPv6 sending guidelines regarding PTR records and authentication.

Проверьте, есть ли у сервера исходящий IPv6 и есть ли у этого адреса PTR:

ip -6 route show default
ip -6 addr show scope global
dig +short -x 2001:db8::10

В третьей команде подставьте свой адрес из вывода второй. Если первая команда что-то выводит, у сервера есть маршрут в интернет по IPv6. Если при этом третья команда возвращает пустую строку, у вас та самая ситуация: IPv6 работает, а PTR для него нет.

Есть два честных пути. Первый: попросить у провайдера PTR и для IPv6, добавить AAAA-запись для mail.example.ru и включить IPv6-адрес в SPF. Второй: отправлять почту только по IPv4. Для нового сервера второй путь проще, потому что у одного адреса меньше переменных.

Как выключить отправку по IPv6 в Stalwart

В Stalwart 0.16 (актуальная ветка на октябрь 2026 года) стратегия IP задаётся в маршруте доставки. Откройте Settings › MTA › Outbound › Routes, выберите маршрут типа Mx (обычно он называется mx) и смените поле ipLookupStrategy с v4ThenV6 на v4Only. Документация перечисляет четыре допустимых значения: v4ThenV6, v6ThenV4, v4Only и v6Only.

В версии 0.15 настройки хранились в TOML, и то же самое делал ключ queue.route.<имя маршрута>.ip-lookup со значением ipv4_only. В ещё более старых версиях ключ назывался queue.outbound.ip-strategy. Если вы ставили сервер по старой инструкции, проверьте номер версии в веб-интерфейсе и ищите название поля для своей версии.

После изменения отправьте тестовое письмо на Gmail и посмотрите заголовок Received. В нём должен стоять IPv4-адрес вашего сервера.

Чёрные списки до первого письма

У IP-адреса VPS почти всегда был прежний владелец. Если он рассылал спам, адрес может быть в DNSBL (DNS-based blocklist, чёрный список, который проверяют через DNS). Проверьте это до первой отправки. Письма с адреса из списка будут отклонены, и ваш домен начнёт свою историю с отказов.

Самый важный список, Spamhaus, проще всего проверить на странице https://check.spamhaus.org/. Можно и через DNS. Для этого запишите октеты IP в обратном порядке:

dig +short 10.113.0.203.zen.spamhaus.org

Пустой ответ значит, что адреса в списке нет. Ответ вида 127.0.0.2 или 127.0.0.4 значит, что адрес в списке. Ответ 127.255.255.254 значит другое: ваш DNS-резолвер публичный, и Spamhaus не отвечает на запросы через такие резолверы. В этом случае используйте веб-страницу.

У Яндекса есть собственный список. В справке Яндекс Почты среди причин отказа приведена такая строка:

Client host [IP_host] blocked using spamsource.mail.yandex.net; see...

Это значит, что Яндекс сам считает ваш IP источником спама. Внешний список здесь ни при чём, и проверить его заранее нельзя. Поэтому новый IP важно не испортить в первую же неделю.

Если адрес уже в списке Spamhaus, попросите у провайдера другой IP до запуска почты. Это быстрее, чем снимать старый адрес с нескольких списков. Если жалобы на спам приходят уже на ваш сервер, разберитесь, как работают abuse-жалобы на VPS, пока провайдер не заблокировал порт.

Отдельно проверьте, что исходящий порт 25 вообще открыт. Многие провайдеры закрывают его на новых серверах:

dig +short MX mail.ru
nc -vz -w 5 mxs.mail.ru 25

Во второй команде подставьте имя сервера из вывода первой. Строка со словом succeeded значит, что порт открыт. Таймаут значит, что порт закрыт на стороне провайдера, и никакие настройки Stalwart это не исправят.

Постмастер Mail.ru

Постмастер Mail.ru (https://postmaster.mail.ru/) показывает статистику по письмам, которые ваш домен отправил на ящики Mail.ru. Важная деталь из справки: статистика ведётся по домену из DKIM-подписи, то есть по тегу d=. Поэтому добавлять нужно именно этот домен. Если Stalwart подписывает письма доменом example.ru, а вы добавите mail.example.ru, статистики не будет.

Порядок такой:

  1. Войдите в Постмастер с аккаунтом Mail.ru.
  2. Откройте страницу добавления домена, введите домен и нажмите «Добавить домен».
  3. Подтвердите права на домен. Справка предлагает три способа: HTML-файл, метатег на главной странице сайта или проверку через DNS.
  4. Если сайта на домене нет, подходит только DNS: добавьте запись, которую покажет сервис, и нажмите кнопку подтверждения.

Изменения в DNS доходят не мгновенно. Если подтверждение не прошло сразу, проверьте запись командой dig +short TXT example.ru и повторите попытку позже.

Что показывает Постмастер Mail.ru

Статистика доступна за последний день, неделю или месяц. Основные показатели по справке Mail.ru:

  • «Письма»: сколько писем ваш домен отправил на Mail.ru за период.
  • «Доставлено»: разбивка на «Входящие», «возможно спам» и «точно спам».
  • «Жалобы»: сколько раз получатели нажали кнопку «Спам».
  • «Репутация»: средний процент жалоб за последние 30 дней. Чем меньше, тем лучше.
  • «Тенденция»: как процент жалоб за последние 7 дней отличается от процента за 30 дней.
  • «Прочитанные» и «Удалённые», причём удалённые делятся на прочитанные и непрочитанные.

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

В Постмастере также настраивается FBL (feedback loop, петля обратной связи): отчёты о каждой жалобе приходят на указанный вами адрес. Если вы отправляете рассылку, например через свой сервер рассылок на listmonk, подключите FBL и сразу отписывайте тех, кто пожаловался.

Как Mail.ru отказывает

Кроме уже знакомой ошибки про PTR, в справке Mail.ru для разработчиков есть ещё два ответа, которые часто видит новый сервер:

550 spam message discarded/rejected
421 Try again later (IP)

Первый значит, что письмо остановил спам-фильтр. Второй значит временную проблему с вашим IP. По справке, причиной бывает спам с этого адреса, много жалоб или много писем на несуществующие адреса. Код 421 временный, поэтому Stalwart сам повторит отправку позже. Но если 421 повторяется несколько дней подряд, снижайте объём и ищите причину в Постмастере.

Яндекс: кабинета отправителя больше нет

Раньше у Яндекса был «Почтовый офис» со статистикой по рассылкам. Сервис закрыт. Яндекс объяснил закрытие так: сервис давно не развивался, и им злоупотребляли спамеры. На момент написания (октябрь 2026 года) адрес postoffice.yandex.ru даже не разрешается в DNS. Инструкции со словами «добавьте домен в Почтовый офис» устарели.

Значит, для Яндекса у вас три источника информации:

  • ответы серверов Яндекса в журнале доставки Stalwart;
  • отчёты DMARC, если вы указали адрес в rua и Яндекс присылает их для вашего домена;
  • тестовые письма на свой ящик в Яндексе с проверкой папки «Спам» и заголовков.

Как Яндекс отказывает

Справка Яндекс Почты приводит такие формулировки для писем, которые признаны спамом:

Message rejected under suspicion of SPAM
Blocked by spam statistics
Client host [IP_host] blocked using spamsource.mail.yandex.net; see...

Первая строка относится к конкретному письму: фильтр счёл спамом его содержимое. Вторая и третья говорят о репутации отправителя в целом. Ответ сервера обычно содержит ссылку на справку Яндекса. Прочитайте её до того, как отправлять что-то ещё, потому что каждое новое отклонённое письмо ухудшает статистику.

Где видеть эти ответы? Stalwart записывает результат каждой попытки доставки. В веб-интерфейсе откройте очередь сообщений и журнал доставки. Для письма, которое не дошло, там будет полный ответ удалённого сервера. Если сервер Яндекса принял письмо, но положил его получателю в «Спам», отказа не будет вовсе. Это можно узнать только тестовым письмом на свой ящик.

Тестовое письмо в Яндекс

Заведите ящик на Яндексе и отправьте на него обычное письмо из Roundcube. Откройте письмо, затем откройте его исходный текст в свойствах письма. Найдите заголовок Authentication-Results, который добавил Яндекс. В нём должно быть spf=pass, dkim=pass и dmarc=pass. Если хотя бы одно значение не pass, Яндекс видит проблему, которую не видите вы. Исправьте её до первой настоящей рассылки.

Gmail: Postmaster Tools

Gmail тоже стоит проверить, потому что у многих российских пользователей там второй ящик. Google Postmaster Tools (https://postmaster.google.com/) работает похоже на Постмастер Mail.ru. Вы добавляете домен и подтверждаете его TXT-записью. Затем видите долю писем, которые получатели отметили как спам.

Google в требованиях к отправителям называет два порога: держать долю спама в Postmaster Tools ниже 0,10% и никогда не доходить до 0,3%. Учтите одно ограничение: Google показывает данные только при заметном ежедневном объёме. У личного сервера с десятком писем в день графики часто пустые. Пустой график не означает проблему.

Прогрев нового IP

У нового IP нет истории. Для крупного провайдера адрес без истории подозрителен сам по себе, потому что так выглядят свежие серверы спамеров. Поэтому первые недели решают многое. Медленный рост объёма называют прогревом.

Простые правила для первой недели:

  1. Первые письма отправляйте живым людям, которые вас знают и ответят. Ответ на письмо и перенос письма из «Спама» во «Входящие» улучшают репутацию.
  2. Не начинайте с рассылки по базе. Сначала личная переписка, потом уведомления из приложений, рассылки в последнюю очередь.
  3. Увеличивайте объём постепенно, день за днём. Каждый день смотрите на отказы в журнале и на «Доставлено» в Постмастере Mail.ru.
  4. Удаляйте адреса, которые вернули ошибку о несуществующем ящике. Справка Mail.ru называет письма на несуществующие адреса одной из причин временной блокировки.

Если ваши приложения, например Nextcloud или система мониторинга, тоже отправляют почту через этот сервер, подключайте их по одному. Как сделать это правильно, описано в статье про отправку почты из self-hosted приложений. Так всплеск уведомлений не совпадёт с первыми днями прогрева.

Если ничего не помогает

Бывает, что всё настроено правильно, а Mail.ru или Яндекс всё равно месяцами кладут письма в спам. Обычно причина в репутации подсети: если соседние адреса того же провайдера рассылают спам, это задевает и вас. Тогда разумно отправлять исходящую почту через релей с хорошей репутацией, а входящую оставить на своём сервере. Взвесить этот выбор помогает разбор того, стоит ли сейчас держать почту на своём сервере. Если вы ещё выбираете сам почтовый сервер, сравните Stalwart с почтовым сервером mailcow на VPS. Требования к PTR, IPv6 и прогреву у них одинаковые, потому что их ставят получатели, а не программа.

FAQ

Почему Mail.ru отвечает «550 Sorry, we do not accept mail from hosts with dynamic IP or generic DNS PTR-records»?

PTR-запись вашего IP оставлена по умолчанию и похожа на адрес домашней сети, например 203-0-113-10.vps.provider.net. Mail.ru не принимает почту с таких адресов. Попросите хостинг-провайдера установить PTR, равный имени почтового сервера, например mail.example.ru. Проверьте результат командой dig +short -x с вашим IP. По справке Mail.ru изменение доходит до их серверов в течение суток.

Где теперь смотреть статистику доставки в Яндекс?

Кабинета для этого нет: «Почтовый офис» Яндекса закрыт, и на октябрь 2026 года его адрес не работает. Читайте ответы серверов Яндекса в журнале доставки Stalwart, принимайте отчёты DMARC через тег rua и отправляйте тестовые письма на свой ящик в Яндексе. В заголовке Authentication-Results должно быть spf=pass, dkim=pass и dmarc=pass.

Какой домен добавлять в Постмастер Mail.ru?

Тот, что стоит в теге d= DKIM-подписи ваших писем. Статистика в Постмастере Mail.ru ведётся именно по нему. Если Stalwart подписывает письма доменом example.ru, добавляйте example.ru, а не mail.example.ru. Домен подписи видно в заголовке DKIM-Signature любого отправленного письма.

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

Выключать нужно не IPv6 на сервере, а отправку почты по IPv6, если у IPv6-адреса нет PTR. Иначе Gmail отклоняет письма с ошибкой о требованиях к IPv6 и PTR. В Stalwart 0.16 откройте Settings › MTA › Outbound › Routes и смените ipLookupStrategy у маршрута mx на v4Only. Если у IPv6-адреса есть PTR, а AAAA-запись и SPF его включают, IPv6 можно оставить.

Сколько писем можно отправлять с нового IP в первую неделю?

Ни Яндекс, ни Mail.ru не публикуют конкретных лимитов для прогрева. Начинайте с личной переписки с людьми, которые вам ответят, и увеличивайте объём постепенно. Каждый день смотрите на отказы в журнале Stalwart и на «Доставлено» в Постмастере Mail.ru. Если Mail.ru раз за разом отвечает 421 Try again later (IP), объём растёт быстрее, чем репутация.