2017-02-22 2 views
1

Я пытаюсь получить некоторые исключения в нашем регулярном выражении sendmail для R command. Следующая конфигурация & регулярное выражение работы:sendmail R регулярное выражение команды, добавляющее исключения в Kcheckaddress regex -a @ MATCH

LOCAL_CONFIG 
# 
Kcheckaddress regex [email protected] 
    [a-zA-Z_0-9.-]+<@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us|info|to|br|bid|cn|ru) 
LOCAL_RULESETS 
SLocal_check_mail 
# check address against various regex checks 
R$*        $: $>Parse0 $>3 $1 
R$+        $: $(checkaddress $1 $) 
[email protected]       $#error $: "553 Your Domain is Blocked for Unsolicited Mail" 

Таким образом, мы блокируем [email protected] но не [email protected] Я хотел бы добавить исключения для городов и школ, чтобы разрешить [email protected] и user @ subdomain. [State] .us. (обратите внимание, что [состояние] означает 1 из 50 состояний, включая DC).

Это регулярное выражение не работает (с помощью CA для Калифорнии в качестве теста):

(?!.*\@ci\..+?\.us$)(?!.*\@*\..+?\.ca.us$)([a-zA-Z_0-9.-][email protected][a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us)$) 

Я получаю эту ошибку:

sendmail -bt 
/etc/mail/sendmail.cf: line 199: pattern-compile-error: Invalid preceding regular expression 

Что меня удивляет, чтобы получить регулярное выражение, которое делает работа, для которой требуются ведущие пробелы, и я не уверен, что делает функция части +<@ регулярного выражения? Что здесь меньше (<)? Нужно ли добавлять его в большее регулярное выражение?

Редактировать: Я уверен, что команды sendmail's R & K не поддерживают негативный внешний вид. Поэтому, если кто-то может помочь переписать регулярное выражение в дружественном формате, я был бы благодарен!

ответ

0

Я закончил с другим подходом, так как suggested on the SpamAssassin mailing. Я использовал sendmail.db. Поскольку locality namespaces я хочу белого список всех регистрации доменов четвёртого уровня вида «<organization-name>.<locality>.<state>.us» Я просто создал 50 записей для всех состояний, как ниже, начиная с отвергающим anything.us:

From:us  REJECT 
From:ma.us OK 
From:mi.us OK 

Я гавань» t видели ЛЮБЫЕ ложные негативы, т. е. пропущенный спам, поскольку включали это в течение нескольких дней.

Смежные вопросы