#Что означает ошибка
554 5.7.1 <user@example.com>: Relay access denied
«Relay access denied» — защита от открытой почтовой ретрансляции: сервер отказывается пересылать письмо на адрес чужого домена, если отправитель не прошёл аутентификацию или не находится в доверенной сети. Для клиента это значит: нужно включить «SMTP-серверу требуется проверка подлинности». Для администратора сервера: проверить mynetworks, smtpd_relay_restrictions (Postfix) и домены получателей.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Не включена авторизация SMTPКлиент отправляет без логина. | Ошибка при отправке на внешние адреса. | Включите проверку подлинности. |
| Неверный SMTP-серверИспользуется чужой сервер без доступа. | Указан не SMTP вашего провайдера/домена. | Укажите правильный сервер. |
| Адрес получателя с ошибкойОпечатка в домене получателя. | Ошибка на конкретный адрес. | Проверьте адрес. |
| Настройки сервера закрывают relayСервер не знает домен как локальный. | Ошибка и для своего домена. | Добавьте домен в virtual_mailbox_domains. |
#Пошаговое решение
- Проверьте адрес получателяОткройте возвращённое письмо с диагностикой SMTP и найдите точную строку
554 5.7.1 Relay access deniedи адрес сервера, который её выдал. Это не то же самое, что «получатель не существует». Запишите, в какой момент отказ: при отправке из клиента, при перенаправлении или между серверами. Если адрес получателя чужой, владелец почтового сервера не обязан разрешать открытую ретрансляцию. - Включите авторизацию в почтовой программеВ почтовой программе откройте настройки аккаунта → «Исходящая почта (SMTP)»: проверьте адрес сервера и порт, которые дал провайдер, включённую авторизацию и выбранный тип шифрования. Для клиентской отправки обычно используется 587 с STARTTLS или 465 с TLS — точное значение берите из инструкции провайдера. Сохраните настройки и отправьте одно тестовое письмо; не пытайтесь использовать порт 25 для пользовательской отправки, если он запрещён провайдером.
- Укажите порт и шифрованиеУбедитесь, что имя пользователя SMTP — полный адрес почты там, где этого требует провайдер, а пароль или пароль приложения относится к нужному ящику. При многофакторной защите может требоваться отдельный пароль приложения или современная авторизация. Не вставляйте пароль в команды, журналы или публичные обращения. Если вход отклонён, сначала исправляйте авторизацию, не открывайте ретрансляцию для всех адресов.
- Используйте SMTP своего почтового сервисаАдминистратор Postfix: по SSH выполните
postconf -n | grep -E "^(mynetworks|smtpd_relay_restrictions|smtpd_recipient_restrictions|smtpd_sasl_auth_enable)"иsudo postfix check. Сравните настройки с официальной конфигурацией вашего сервера: в relay restrictions должны быть разрешены доверенные клиенты и аутентифицированные пользователи при запрете остальных. Не устанавливайтеmynetworks = 0.0.0.0/0: это превратит сервер в открытый ретранслятор. - Для сервера: проверьте mynetworksЕсли сообщение получает только один адресат, проверьте, чей сервер вернул код, и относится ли домен получателя к локальным или виртуальным доменам Postfix. Сравните значения
mydestination,virtual_mailbox_domainsиrelay_domainsчерезpostconf, не изменяя их без проверки схемы доставки. Проверьте существование почтового ящика, затем отправьте тестовое сообщение. Не отключайте ограничения безопасности для обхода 554. - Для сервера: проверьте ограниченияДля диагностики откройте журнал SMTP на сервере (
sudo journalctl -u postfix -n 100 --no-pagerили настроенный файл mail.log), повторите отправку и найдите строку по времени и адресу. Запишите сервер, код отказа и наличие SASL-аутентификации без паролей. Если конфигурацию менял администратор, сначала выполнитеsudo postfix check, затемsudo systemctl reload postfixи проверьте отправку на собственный внешний адрес. - Для сервера: проверьте доменыЕсли все параметры корректны, но отказ происходит только из определённой сети, проверьте межсетевой экран и правила провайдера: исходящее соединение на 587 должно доходить до сервера SMTP, а ответ сервера — соответствовать вашему логину. Передайте поддержке домен, порт, время и диагностический код без паролей. Не отключайте TLS и не повторяйте бесконечно отправку письма с персональными данными.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
- Перезагрузите PostfixПосле исправления отправьте по одному тестовому письму на локальный и внешний адрес, проверьте папку «Отправленные» и фактическое получение. В журнале не должно быть новых
Relay access deniedдля этих попыток. Если отказ сохраняется, верните прежние параметры и сравните результаты диагностики до и после — это укажет, какую часть цепочки ещё надо проверить.
Не добавляйте в mynetworks публичные подсети и не используйте permit без условий: открытый relay быстро попадёт в чёрные списки спамеров, а письма вашего домена перестанут доходить. Проверить репутацию IP можно на . Если вы используете внешний почтовый хостинг, ошибка 554 нередко означает, что в клиенте указан неверный сервер (исходящий вместо входящего). Ещё одна причина — отправка с адреса домена, которого нет на этом сервере. Документация — .