Добрый день!Помогите разобраться:
addresslist whitelist = lsearch*@;CONFIG_PREFIX/whitelist
в whitelist'e *@aol.com (например)
acl_check_rcpt:
Конструкция:
accept senders = +whitelist
- работает.
Конструкция:
warn senders = +whitelist
log_message = testovoe_s
- пропускается и выполняются правила следующие за ней.Из документации по Exim'у немного не понял... Через warn-же выполняются условия и в зависимости от + или !+
можно записать сообщение в log например. Через accept (я так понял) сообщение в log записать нельзя.Такая, вот, штука... Не могу понять, почему не работает конструкция warn senders = ...
> Добрый день!И вам доброго!
>Из документации по Exim'у немного не понялНе мудрено :-) Документация exim - это что-то!
>Помогите разобраться:Совсем конспективно
В exim есть много ACL, например, acl_check_rcpt.
ACL состоит из последовательности правил, которые исполняются по порядку.
Каждое правило состоит из набора условий/действий и обязательно содержит код выхода: accept, drop, defer, require, warn.
Когда срабатывает условие какого-либо правила, в случае если у этого правила код выхода один из: accept, drop, defer, require, ПРЕКРАЩАЕТСЯ дальнейшее исполнение всего этого ACL с результатом, соответствующим коду выхода.
Срабатывание правила с кодом выхода warn НЕ ПРЕКРАЩАЕТ дальнейшего исполнения этого ACL (выхода из ACL не происходит).
Правила warn действительно могут использоваться для записи в лог по срабатыванию некоторого условия, или даже безусловно (warn log_message = testovoe_s). Помимо этого, правила warn могут применяться для установки переменных (warn set acl_c_dkim_stat=0) с продолжением исполнения ACL>Через accept (я так понял) сообщение в log записать нельзя
Не верно.
log_message = ..... можно добавить в ЛЮБОЕ правило (accept, drop, defer, require, warn). Запись в лог произойдет при срабатывании этого правила.
UPDПравило require прекращает исполнение ACL только в случае, если его условия не выполняются. При исполнении условия require выхода из ACL не происходит