Добрый день!В exim.conf, в секции routers, прописано такое:
fltr_from:
driver = redirect
condition = ${lookup{$sender_address}wildlsearch{/etc/exim/senders.list}{yes}{no}}
data = "spammaster@domain.ru"
pipe_transport = address_pipe
В /etc/exim/senders.list лежит такой текст:*@somedom.com
*@anotherdom.ru
someaddr*
anotheraddк*строки вида *@somedom.com отрабатываются прекрасно, происходит редирект, а строки вида someaddr* -- игнорируются. я понимаю, что вместо someaddr* должно стоять регулярное выражение, но никак не могу понять или подобрать его формат. очевидное (или неочевидное) ^/someaddr/i и вариации не срабатывают.
подскажите пожалуйста, как мне составить строку в этот же файл для фильтрации $sender_address по условию "начинается на"?
> someaddr*
> anotheraddк*someaddr*@* ?
Обратите внимание, что $sender_address это про конверт, а не From:
> someaddr*@* ?
> Обратите внимание, что $sender_address это про конверт, а не From:не, не работает.
1) Если имеется в виду регулярное выражение для "любое кол-во любых символов", то ему соответствует .*2) Оканчивать * выражение не нужно - и так сработает
3) Exim'у часто надо явно сказать, что далее будет regexp постредством ^
ИМХО, должно быть так:
^.*@somedom.com
^.*@anotherdom.ru
^someaddr@
^anotheraddк@
Только позже заметил неточность. Исправленная версия^.*@somedom\.com
^.*@anotherdom\.ru
^someaddr@
^anotheraddк@
уже решил проблему на уровне rspamd, поэтому только сейчас дошли руки проверить.
так вот, эти ваши варианты -- рабочие.
А для регистро независимого сравнения привести все к нижнему региструcondition = ${lookup{${lc:$sender_address}}wildlsearch{/etc/exim/senders.list}{yes}{no}}