Ошибка SMTP 550 означает, что почтовый сервер получателя отклонил письмо на финальном этапе: адрес не существует, отправитель не прошёл аутентификацию или сообщение расценено как спам. Код 554 — это отказ транзакции в целом. Оба кода начинаются с цифры 5, то есть ошибка постоянная, и повторная отправка без исправления причины не поможет.
В этом руководстве разбираем, что значат SMTP-коды 550 и 554, как читать enhanced-коды формата 5.x.x по RFC 3463, перечисляем типовые причины отказа (несуществующий получатель, спам-фильтр, провал SPF/DKIM/DMARC, IP в чёрном списке, relay denied) и объясняем, что делать отправителю и что — владельцу домена.
Что значит SMTP 550 и 554
SMTP использует трёхзначные коды ответа (RFC 5321). Первая цифра задаёт класс: 2xx — успех, 4xx — временная ошибка (можно повторить позже), 5xx — постоянный отказ. Код 550 отдаётся, когда сервер не может доставить конкретное письмо: почтовый ящик недоступен, действие не выполнено. Код 554 — самый общий отказ: транзакция провалилась, часто с формулировкой «Transaction failed» или «Message rejected».
Ключевое отличие: 550 обычно относится к получателю или содержанию письма, тогда как 554 нередко возникает на этапе установки соединения (SMTP-баннер) — например, когда IP отправителя целиком заблокирован. Оба кода необратимы в рамках текущей отправки, поэтому чинить нужно причину, а не пытаться отправить снова.
Как читать текст ошибки
После числового кода сервер добавляет enhanced-код и человекочитаемое пояснение. Формат ответа: 550 5.7.1 Message rejected due to policy. Здесь 550 — базовый код, 5.7.1 — enhanced-код (класс.подкласс.деталь), а текст объясняет причину. Именно текст и enhanced-код указывают, что конкретно пошло не так, поэтому копируйте полную строку из bounce-уведомления, а не только число 550.
Enhanced-коды 5.x.x по RFC 3463
Enhanced Mail System Status Codes (RFC 3463) уточняют причину отказа. Структура: класс (5 — постоянная ошибка), подкласс (тема) и деталь. Ниже — самые частые enhanced-коды при 550 и 554.
- 5.1.1 — получателя не существует (Bad destination mailbox address). Ящик удалён или адрес набран с ошибкой.
- 5.1.10 — адрес не разрешается / NULL MX. У домена нет почтового сервера.
- 5.7.1 — доставка запрещена политикой (relay denied, письмо отклонено как спам или заблокировано правилом).
- 5.7.26 — множественная аутентификация не пройдена: письмо не прошло SPF и DKIM, поэтому отклонено по DMARC.
- 5.7.23 — провал проверки SPF.
- 5.7.7 — сообщение выглядит как подделка отправителя (DKIM/DMARC).
Причины отклонения
Отказ 550/554 сводится к нескольким сценариям. Разберём каждый и то, кому его чинить — отправителю письма или владельцу домена-отправителя.
Получатель не существует
Самая простая причина: адрес набран с опечаткой, сотрудник уволился и ящик удалён, либо домен вообще не принимает почту. Сервер отвечает 550 5.1.1 «No such user» или «User unknown». Опасность в том, что рассылка на несуществующие адреса проверку портов репутацию отправителя: провайдеры видят высокий bounce-rate и начинают чаще класть письма в спам. Регулярно чистите базу от неактивных адресов.
Письмо отклонено как спам
Приёмник прогнал письмо через фильтр и решил, что это спам: подозрительная тема, много ссылок, вложенный архив, отсутствие аутентификации или плохая репутация IP. Ответ — 550 5.7.1 с формулировкой «rejected as spam» или ссылкой на страницу с политикой. В отличие от отказа по несуществующему адресу, здесь письмо технически доставимо, но контент и настройки отправителя не внушают доверия.
Провал SPF, DKIM или DMARC
SPF (RFC 7208) объявляет в DNS список серверов, которым разрешено отправлять почту от имени домена. DKIM ставит на письмо криптографическую подпись. DMARC связывает их и говорит приёмнику, что делать, если проверки не прошли. Если сервер отправителя не указан в SPF, а DKIM-подпись отсутствует или не совпадает, приёмник вернёт 5.7.23, 5.7.7 или 5.7.26 и отклонит письмо по политике DMARC p=reject.
IP в чёрном списке или relay denied
Если IP отправителя попал в DNSBL (спам-лист), приёмник может оборвать сессию сразу баннером 554 с текстом «blocked» и ссылкой на список. Отдельный случай — «relaying denied»: вы пытаетесь отправить письмо через чужой SMTP без авторизации, и сервер справедливо отказывается пересылать почту неаутентифицированного клиента.
Типовые тексты ошибок и решения
| Текст ошибки | Enhanced-код | Причина | Решение |
|---|---|---|---|
| 550 No such user here | 5.1.1 | Получателя не существует | Проверьте написание адреса, уточните актуальный e-mail у получателя |
| 550 Message rejected as spam | 5.7.1 | Спам-фильтр отклонил письмо | Уберите спам-триггеры, настройте SPF/DKIM/DMARC, прогрейте IP |
| 550 SPF check failed | 5.7.23 | IP отправителя не в SPF-записи | Добавьте сервер в TXT-запись SPF домена |
| 550 DMARC policy violation | 5.7.26 | Провал SPF и DKIM одновременно | Настройте выравнивание (alignment) SPF и DKIM с доменом From |
| 554 5.7.1 Service unavailable; blocked | 5.7.1 | IP в чёрном списке (RBL) | Проверьте IP в DNSBL, запросите делистинг |
| 550 Relaying denied | 5.7.1 | Сервер не пересылает чужую почту | Авторизуйтесь на SMTP (SMTP AUTH) или используйте свой релей |
| 554 Transaction failed | 5.6.0 | Проблема с содержимым/вложением | Проверьте формат письма, размер, MIME-заголовки |
Пример SMTP-диалога с отказом
Так выглядит сессия, где сервер получателя отклоняет письмо на команде RCPT/DATA. Ответ 550 приходит сразу после проверки политики:
220 mx.example.com ESMTP Postfix
HELO mail.sender.ru
250 mx.example.com
MAIL FROM:<info@sender.ru>
250 2.1.0 Ok
RCPT TO:<user@example.com>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
...
.
550 5.7.1 Message rejected due to SPF/DKIM/DMARC policy
QUIT
221 2.0.0 ByeПроверить, отвечает ли почтовый сервер получателя и какой enhanced-код он отдаёт вручную, можно через openssl:
openssl s_client -starttls smtp -connect mx.example.com:25 -crlf
# после подключения введите команды вручную:
EHLO mail.sender.ru
MAIL FROM:<info@sender.ru>
RCPT TO:<user@example.com>Как исправить
Порядок действий зависит от того, кто вы в этой цепочке. Отправитель одного письма и администратор домена-отправителя чинят разные вещи.
Что делать отправителю
- Прочитайте enhanced-код и текст bounce-письма — они точно называют причину.
- При 5.1.1 перепроверьте адрес получателя по буквам, спросите актуальный e-mail.
- При 5.7.1 «spam» не отправляйте одно и то же письмо повторно — измените тему и текст, уберите сокращённые ссылки и вложения-архивы.
- Если ошибка «relaying denied», включите SMTP-аутентификацию в почтовом клиенте.
Что делать владельцу домена
- Настройте и проверьте SPF: TXT-запись со всеми серверами, отправляющими вашу почту.
- Подключите DKIM: сервер подписывает письма, приёмник проверяет подпись по публичному ключу в DNS.
- Опубликуйте DMARC и следите за отчётами, чтобы видеть, где ломается выравнивание.
- Проверьте IP и домен в чёрных списках (RBL/DNSBL) и при необходимости запросите делистинг.
- Следите за репутацией отправителя: не рассылайте на мёртвые адреса и жалующихся получателей.
Как проверить настройки
Быстрее всего диагностировать причину — проверить аутентификацию домена. Инструмент проверки SPF/DKIM/DMARC покажет, какие записи опубликованы и проходят ли они выравнивание. Проверить, что домен вообще резолвится и у него есть корректный MX, поможет DNS-проверка записей A/MX/TXT.
Официальные источники
- RFC 5321 — Simple Mail Transfer Protocol
- RFC 3463 — Enhanced Mail System Status Codes
- RFC 7208 — Sender Policy Framework (SPF)
Похожие материалы
- Полное руководство по SPF, DKIM и DMARC
- Как убрать IP и домен из чёрного списка почты
- Почему письма попадают в спам и как это исправить
Частые вопросы
Чем отличается ошибка SMTP 550 от 554?
Код 550 отдаётся при отказе доставить конкретное письмо: ящик недоступен, письмо отклонено политикой или как спам. Код 554 — более общий отказ всей транзакции, который часто возникает уже на этапе SMTP-баннера, когда IP отправителя полностью заблокирован. Оба кода постоянные и требуют устранения причины.
Что означает enhanced-код 5.7.1?
Enhanced-код 5.7.1 по RFC 3463 означает, что доставка запрещена политикой сервера получателя. Это самый частый код при отказах: relay denied, письмо отклонено спам-фильтром или заблокировано по SPF/DKIM/DMARC. Точную причину смотрите в текстовом пояснении, которое сервер добавляет после кода.
Что делать при ошибке 5.7.26?
Код 5.7.26 значит, что письмо не прошло ни SPF, ни DKIM, поэтому было отклонено по политике DMARC. Владельцу домена нужно настроить корректный SPF со всеми отправляющими серверами и включить DKIM-подпись так, чтобы домены в записях совпадали с доменом в поле From (выравнивание, alignment).
Поможет ли повторная отправка письма?
Нет. Коды 5xx постоянные, поэтому повторная отправка того же письма даст ту же ошибку. Сначала исправьте причину: уточните адрес получателя при 5.1.1, настройте аутентификацию при 5.7.x или запросите делистинг IP из чёрного списка. Только после этого имеет смысл отправлять снова.
Как понять, что мой IP в чёрном списке?
Признак — массовые отказы 554 с формулировкой «blocked» или «listed» и ссылкой на DNSBL. Проверьте IP и домен по основным чёрным спискам, а аутентификацию — инструментом проверки SPF/DKIM/DMARC. Если IP действительно в списке, устраните источник спама и подайте заявку на делистинг у оператора списка.