URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97450
[ Назад ]

Исходное сообщение
"Exim, wildlsearch и регулярные выражения"

Отправлено fresco , 20-Авг-19 10:46 
Добрый день!

В 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 по условию "начинается на"?


Содержание

Сообщения в этом обсуждении
"Exim, wildlsearch и регулярные выражения"
Отправлено xm , 25-Авг-19 13:49 
> someaddr*
> anotheraddк*

someaddr*@* ?
Обратите внимание, что $sender_address это про конверт, а не From:


"Exim, wildlsearch и регулярные выражения"
Отправлено fresco , 26-Авг-19 09:35 
> someaddr*@* ?
> Обратите внимание, что $sender_address это про конверт, а не From:

не, не работает.


"Exim, wildlsearch и регулярные выражения"
Отправлено Мимо проходил , 06-Сен-19 17:48 
1) Если имеется в виду регулярное выражение для "любое кол-во любых символов", то ему соответствует .*

2) Оканчивать * выражение не нужно - и так сработает

3) Exim'у часто надо явно сказать, что далее будет regexp постредством ^

ИМХО, должно быть так:

^.*@somedom.com
^.*@anotherdom.ru
^someaddr@
^anotheraddк@


"Exim, wildlsearch и регулярные выражения"
Отправлено Мимо проходил , 06-Сен-19 17:52 
Только позже заметил неточность. Исправленная версия

^.*@somedom\.com
^.*@anotherdom\.ru
^someaddr@
^anotheraddк@


"Exim, wildlsearch и регулярные выражения"
Отправлено fresco , 18-Сен-19 11:04 
уже решил проблему на уровне rspamd, поэтому только сейчас дошли руки проверить.
так вот, эти ваши варианты -- рабочие.

"Exim, wildlsearch и регулярные выражения"
Отправлено Мимо проходил , 06-Сен-19 18:18 
А для регистро независимого сравнения привести все к нижнему регистру

condition = ${lookup{${lc:$sender_address}}wildlsearch{/etc/exim/senders.list}{yes}{no}}