Tôi có tất cả các thư đến không hợp lệ của tôi đến các địa chỉ mới Tôi có một tuyến đường như thế này.

virtual_aliases:
    driver = redirect
    allow_defer
    allow_fail
    domains = lsearch;/etc/userdomains
    user = "${lookup \
        {$domain} \
        lsearch{/etc/userdomains} \
        {$value} \
    }"
    group = "${lookup \
        {$domain} \
        lsearch{/etc/userdomains} \
        {$value} \
    }"
    address_data = \
        "router=$router_name \
        redirect=${quote:${lookup \
            {$local_part} \
            lsearch{${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/etc/${perl{untaint}{$domain}}/aliases} \
    }}"
    data = ${extract{redirect}{$address_data}}
    file_transport = address_file
    router_home_directory = ${extract \
        {5} \
        {::} \
        {${lookup passwd \
            {${lookup \
                {$domain_data} \
                lsearch{/etc/userdomains} \
                {$value} \
            }} \
            {$value} \
        }} \
    }
    local_part_suffix = +*
    local_part_suffix_optional
    retry_use_local_part
    unseen


userforward:
    driver = redirect
    allow_filter
    allow_fail
    forbid_filter_run
    forbid_filter_perl
    forbid_filter_lookup
    forbid_filter_readfile
    forbid_filter_readsocket
    check_ancestor
    check_local_user
    domains = $primary_hostname
    no_expn
    require_files = "+$home/.forward"
    condition = "${extract{size}{${stat:$home/.forward}}}"
    file = $home/.forward
    file_transport = address_file
    reply_transport = address_reply
    directory_transport = address_directory
    user = $local_part_data
    group = $local_part_data
    no_verify

Tệp với tư cách người dùng: [email protected] , người dùng *: :: fail: Mọi thông báo

Đây là chuyển tiếp bình thường của tôi hoạt động nhưng không phải là cái này *

answer

chỉ sử dụng nwildlsearchthay vì lsearchvà đặt *mục nhập ở cuối tệp.

Nó phải như thế này.

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

Đó là cách hoàn hảo và trong một tập tin, nó phải như thế này

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