Amavis - Как занести в черный список с помощью регулярных выражений из внешнего файла

1428
CaptSaltyJack

В настоящее время у меня есть эта строка в моем файле конфигурации пользователя amavis:

# BLACKLIST read_hash(\%blacklist_sender, '/etc/amavis/blacklist'); 

Он отлично работает с такими записями, как:

.baddomain.net .spam-galore.net 

Но мне интересно, как использовать регулярные выражения в этом файле. Я попробовал следующее:

qr(\.domain[0-9]\.net) qr'\.domain[0-9]\.net' 

И ни один не работал.

1

1 ответ на вопрос

0
tschodt

Addresses are converted from quoted form into internal (raw) form

Как я читал,
read_hash () не обслуживает регулярные выражения.

There is a subroutine read_hash() available for use in amavisd.conf. It can read keys from a plain text file, and load them into a Perl hash. Format of the text file: one address per line, anything from '#' to the end of line is treated as a comment, but '#' within correctly quoted rfc2821 addresses is not treated as a comment (e.g. a hash sign within "strange # \"foo\" address"@example.com is valid). Leading and trailing whitespace is discarded, empty lines (containing only whitespace and comment) are ignored. Addresses are converted from quoted form into internal (raw) form and inserted as keys into a given hash, with a value of 1 (true). Each address can have an associated optional value (also known as the 'righthand side' or RHS) separated from the address by whitespace. An absence of a value implies 1 (true). The $hashref argument is returned for convenience, so that one can say for example: $per_recip_whitelist_sender_lookup_tables = { '.my1.example.com' => read_hash({},'/var/amavis/my1-example-com.wl'), '.my2.example.com' => read_hash({},'/var/amavis/my2-example-com.wl') }

Источник: http://www.amavis.org/README.lookups.txt

Я думаю, вы могли бы внести изменения в код read_hash () - это perl.

На самом деле, это, вероятно, было бы плохо, если
вместо этого клонировать его на новое имя, чтобы ничего не сломать.

Похожие вопросы