#Что означает сообщение
Relay access denied
Сервер не разрешает ретрансляцию без аутентификации. Включите SASL, проверьте mynetworks и restrictions.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет аутентификации | Отдельно проверьте фактор «Нет аутентификации» в момент, когда возникает описанная неисправность; сравните с работой исправного устройства или настройки. Отслеживайте результат по журналу нужной службы, не по соседним сайтам. | Если проверка подтверждает «Нет аутентификации», исправьте только относящийся к нему элемент, сохранив прежнее значение и возможность возврата. |
| Неверный mynetworks | Подсеть отправителя не соответствует списку доверенных хостов; это не основание расширять его до всех адресов. | Для внешних пользователей настройте SMTP AUTH через submission вместо добавления чужих сетей в mynetworks. |
| Неверный получатель | Отдельно проверьте фактор «Неверный получатель» в момент, когда возникает описанная неисправность; сравните с работой исправного устройства или настройки. | Если проверка подтверждает «Неверный получатель», исправьте только относящийся к нему элемент, сохранив прежнее значение и возможность возврата. |
| Порядок restrictions | Правила Postfix отвергают пересылку до проверки авторизованного клиента или домена назначения. | Просмотрите действующий порядок smtpd_relay_restrictions и сопоставьте его с журналом конкретной сессии. |
#Пошаговое решение
- Проверьте исходные условияСохраните полный ответ
554 5.7.1 Relay access deniedи выясните, кто отклоняет письмо: ваш сервер исходящей почты или сервер адресата. В почтовом клиенте откройте настройки исходящего SMTP и запишите сервер, порт, тип шифрования и имя пользователя. Не публикуйте реальные пароли и токены. - Включите SMTP-аутентификациюЕсли письмо отправляет пользователь через ваш Postfix, включите предусмотренную провайдером SMTP-аутентификацию на порту 587 с STARTTLS либо 465 с TLS и используйте учётные данные именно этого сервера. Проверяйте соединение из той сети, где работает клиент; не переключайтесь на незашифрованный порт 25 ради обхода отказа.
- Проверьте другую возможную причинуАдминистратор через SSH выполнит
postconf -nи проверитmynetworks,smtpd_relay_restrictionsи настройку SASL для службы submission. Не добавляйте0.0.0.0/0в доверенные сети и не удаляйтеreject_unauth_destination: это превратит сервер в открытую почтовую пересылку. - Проверьте итогПосле резервного копирования конфигурации выполните
sudo postfix check, затем, только если настройки изменены и проверка успешна,sudo postfix reload. Отправьте письмо с авторизованного ящика и проверьте его запись в журнале; отдельно убедитесь, что неавторизованные внешние пользователи по-прежнему не могут пересылать письма.
#На что обратить внимание
Не добавляйте весь интернет в mynetworks и не ослабляйте ограничения relay: это превращает сервер в открытый ретранслятор спама. Сверьте конкретный отказ в журнале почты.