Мы пытаемся отбросить все электронные письма с соответствующей темой, например: тема:
Тема: 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
Ваше первое регулярное выражение содержит \\$
который соответствует концу строки, поэтому он соответствует только в том случае, если строка домена находится в конце темы.