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

В чем разница между defer и deny в Exim?

Я понимаю, что defer возвращается, если тест не может быть завершен, например, когда истекло время поиска в черном списке DNS. Но как влияет отсрочка на окончательное решение ACL? Кроме того, что происходит, когда я вручную устанавливаю для возврата значение «отложить» вместо «отклонить», например, при поиске по локальному черному списку?

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_lists.html, 12. Коды возврата ACL:

За исключением QUIT ACL, который не влияет на код возврата SMTP (см. Раздел 40.9 выше), результатом выполнения ACL является либо «принять», либо «отклонить», или, если какой-либо тест не может быть завершен (например, если база данных не работает), «отложить». Эти результаты приводят к использованию кодов возврата 2xx, 5xx и 4xx соответственно в диалоге SMTP.

Это означает, что «отложить» указывает на временную проблему (4xx) для отправителя, а «deny» означает постоянную проблему (5xx), и отправитель не должен повторять попытку. В качестве примера для черных списков вы можете использовать defer, если вы не можете связаться с ними, и запретить, если хост находится в черном списке. (Я думаю, что это автоматически делает dnslist)