pcre:/etc/postfix/filename
Узнать о типах поисковых таблиц, поддерживаемых вашей системой Postfix, можно с помощью команды postconf -m.
Общий вид таблицы PCRE:
Каждый шаблон является регулярным выражением в стиле perl. Разделителем выражения может быть любой символ, кроме пробелов и символов, имеющих специальное значение (по традиции используется прямой слэш '/'). Регулярное выражение может содержать пробелы.
По умолчанию, при сравнении регистр не учитывается, хотя следующим вторым слэшем с флагом `i' это можно изменить. Поддерживаются и другие флаги, но из них полезным является `U', который делает сравнение не прожорливым (ungreedy) (подробнее смотрите в документации PCRE и исходных файлах).
Каждый шаблон применяется ко всей ключевой строке поиска. В зависимости от приложения, этой строкой может быть полное имя машины клиента, полный IP адрес клиента или полный почтовый адрес. Таким образом, поиск родительских доменов или родительских сетей не выполняется, почтовые адреса user@domain не разбиваются на свои составляющие части user и domain, а user+foo не разбиваются на user и foo.
Шаблоны применяются в порядке следования в таблице, пока не будет найден шаблон, удовлетворяющий строке поиска.
Замена подстрок из совпавшего выражения в строку результата возможна с помощью традиционного для perl синтаксиса ($1, $2, и т.д.). Возможно, макрос в строке результата потребуется записать как ${n} или $(n), если перед ним нет пробела.
# Protect your outgoing majordomo exploders /^(?!owner-)(.*)-outgoing@(my.domain)$/ 550 Use ${1}@${2} instead # Возвращать письма для friend@whatever, кроме случаев, когда whatever # является вашим доменом (вам было бы проще возвращать все письма для # friend@ - но это просто пример). /^friend@(?!my.domain).*$/ 550 Stick this in your pipe $0 # Многострочная запись. Текст посылается как одна строка. # /^noddy@connect.com.au$/ 550 This user is a funny one. You really don't want to send mail to them as it only makes their head spin.
regexp_table(5) - формат таблиц регулярных выражений POSIX
Код поиска в таблице PCRE изначально был написан: Andrew McNamara andrewm@connect.com.au connect.com.au Pty. Ltd. Level 3, 213 Miller St North Sydney, NSW, Australia Адаптация: Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Перевод: Alex Savvin <savvin@mail.ru>, Jan 05, 2002
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |