Мы пытаемся отбросить все электронные письма с совпадающей темой, пример темы:
Тема: DOMAIN.COM Оповещение: ИМЯ Мы НЕ получили ваш платеж
Мы пытаемся сопоставить любой домен, Предупреждение и «Мы НЕ получили ваш платеж»
Используя следующий фильтр:
if
$header_subject: matches "^(?!:\\\\/\\\\/)([a-zA-Z0-9-_]+\\\\.)*[a-zA-Z0-9][a-zA-Z0-9-_]+\\\\.[a-zA-Z]{2,11}?\\$"
and $header_subject: contains "Alert"
and $header_subject: contains "We have NOT received your payment"
then
save "/dev/null" 660
endif
Он не соответствует, однако при тестировании я проверил регулярное выражение на соответствие домену и он работает, но при добавлении дополнительных правил фильтр не работает.
Это отклоняет письма с темой, соответствующей "Оповещение DOMAIN.COM: ИМЯ Мы НЕ получили ваш платеж"
(где DOMAIN.COM может быть любым доменом)
if $h_subject matches "^[A-Za-z0-9-_]+\\\\.[a-zA-Z]\\\\b.+Alert.+We have NOT received your payment\\$"
then
seen finish
endif
Примечание. Вы можно проверить влияние системного фильтра на доставку с помощью:
exim -bF test_filter <test_message
Ваше первое регулярное выражение содержит \\ $
, которое соответствует концу строки, поэтому оно соответствует только в том случае, если строка домена находится в конце темы.