Как переслать все недействительные входящие письма в exim

Как переслать все недействительные входящие письма в exim

У меня для всех моих недействительных входящих на новые адреса есть такой маршрут.

виртуальные_алиасы:
    драйвер = перенаправление
    разрешить_отсрочку
    разрешить_неудачу
    домены = lsearch;/etc/userdomains
    пользователь = "${lookup \
        {$домен} \
        lsearch{/etc/userdomains} \
        {$значение} \
    }"
    группа = "${lookup \
        {$домен} \
        lsearch{/etc/userdomains} \
        {$значение} \
    }"
    адрес_данных = \
        "маршрутизатор=$имя_маршрутизатора \
        перенаправление=${цитата:${поиск \
            {$local_part} \
            lsearch{${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/etc/${perl{untaint}{$domain}}/aliases} \
    }}"
    данные = ${extract{redirect}{$address_data}}
    файл_транспорт = адрес_файла
    домашний_каталог_маршрутизатора = ${extract \
        {5} \
        {::} \
        {${поиск пароля \
            {${поиск \
                {$domain_data} \
                lsearch{/etc/userdomains} \
                {$значение} \
            }} \
            {$значение} \
        }} \
    }
    локальная_часть_суффикс = +*
    локальная_часть_суффикс_необязательный
    повторить_использование_локальной_части
    невидимый


пользовательпереадресация:
    драйвер = перенаправление
    разрешить_фильтр
    разрешить_неудачу
    запретить_фильтр_запуск
    запретить_фильтр_perl
    запретить_фильтр_поиск
    запретить_фильтр_чтение_файла
    запретить_фильтр_чтение_сокета
    проверка_предка
    проверить_локальный_пользователь
    домены = $primary_hostname
    нет_expn
    require_files = "+$home/.forward"
    условие = "${extract{size}{${stat:$home/.forward}}}"
    файл = $home/.forward
    файл_транспорт = адрес_файла
    reply_transport = адрес_ответа
    каталог_транспорт = адрес_каталог
    пользователь = $local_part_data
    группа = $local_part_data
    нет_проверки

Файл как пользователь:[email protected], пользователь *: ::fail:Любое сообщение

Здесь мой обычный форвард работает, но не этот *

решение1

просто используйте nwildlsearchвместо lsearchи поместите *запись в конец файла.

решение2

Так и должно быть.

catchall:
    driver = redirect
    domains = lsearch;/etc/userdomains
    address_data = \
        "router=$router_name \
        redirect=${quote:${lookup \
            {invalid_accept} \
            lsearch{${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/etc/${perl{untaint}{$domain}}/aliases} \
    }}"
    data = ${extract{redirect}{$address_data}}
    allow_fail

Это идеальный способ и в файле он должен выглядеть так

invalid_accept : :fail:Whatever act you want I shown here failed act

Связанный контент