Назад | Перейти на главную страницу

Могу ли я сделать исключение для reject_unknown_client_hostname?

Мой внешний SMTP блокирует некоторые электронные письма с ошибкой 450 4.7.1 Client host rejected: cannot find your hostname, который мы проследили до reject_unknown_client_hostname. Как это часто бывает, имя хоста, в которое разрешается обратный адрес, само по себе не имеет записи DNS. Шансы на то, чтобы это исправить, невелики, но нам нужно получить их электронную почту.

Итак, можем ли мы настроить какое-то исключение, чтобы обойти это правило просто для них?

Вы можете разрешить конкретному клиенту обходить smtpd_client_restrictions:

smtpd_client_restrictions =
  check_client_access hash:/etc/postfix/client_access,
  reject_invalid_hostname

Сначала будет выполнено указанное действие в client_access, и если он не соответствует ни одному правилу, перечисленному в нем, отклонить отправителей, у которых нет действительного домена.

Синтаксис client_access будет следующим:

1.2.3.4    OK
bad.domain REJECT

После настройки этого файла выполните следующую команду, чтобы сгенерировать индексированную версию этого файла (db):

postmap /etc/postifx/client_access

Перезагрузите postfix, и все будет в порядке.

Больше документов таблицы доступа

Еще smtpd_client_restrictions

РЕДАКТИРОВАТЬ: Если по какой-то причине вам нужно отладить это, вы можете попробовать включить отладку в smtpd в зависимости от того, кто подключается к вашей службе. редактировать /etc/postfix/master.cf, найдите службу smtpd и добавьте строку, подобную этой:

smtp      inet  n       -       -       -       -       smtpd
       -o debug_peer_level=10 -o debug_peer_list=1.2.3.4

Это позволит отладить только для пира 1.2.3.4. Это должно дать вам представление о том, что происходит, когда клиент 1.2.3.4 подключается к сервису smtp для отправки вам электронной почты, просмотрев журнал вашей почты.