如何在 exim 中轉寄所有無效傳入郵件

如何在 exim 中轉寄所有無效傳入郵件

我必須將所有無效傳入的新地址設定為這樣的路線。

虛擬別名:
    驅動程式 = 重定向
    允許延遲
    允許失敗
    域 = lsearch;/etc/userdomains
    使用者=“${查找\
        {$網域名稱} \
        lsearch{/etc/userdomains} \
        {$值} \
    }”
    組=“${查找\
        {$網域名稱} \
        lsearch{/etc/userdomains} \
        {$值} \
    }”
    地址資料 = \
        “路由器=$router_name \
        重定向=${引用:${查找\
            {$local_part} \
            lsearch{${extract{5}{::}{${查找密碼{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/etc/${ perl{untaint}{$domain}}/aliases} \
    }}"
    資料 = ${提取{重定向}{$address_data}}
    文件傳輸 = 地址文件
    router_home_directory = ${提取\
        {5} \
        {::} \
        {${查找密碼\
            {${查找\
                {$domain_data} \
                lsearch{/etc/userdomains} \
                {$值} \
            }} \
            {$值} \
        }} \
    }
    本地部分後綴 = +*
    本地部分後綴可選
    重試使用本地部分
    看不見


使用者轉發:
    驅動程式 = 重定向
    允許過濾器
    允許失敗
    禁止過濾器運行
    禁止過濾器perl
    禁止過濾器查找
    禁止過濾器讀取文件
    禁止過濾器讀套接字
    檢查祖先
    檢查本地用戶
    網域 = $primary_hostname
    無表達式
    require_files = "+$home/.forward"
    條件=“${提取{大小}{${stat:$home/.forward}}}”
    檔案 = $home/.forward
    文件傳輸 = 地址文件
    回覆傳輸 = 地址回复
    目錄_傳輸 = 地址_目錄
    使用者 = $local_part_data
    組 = $local_part_data
    無驗證

以使用者身分歸檔:[電子郵件受保護],使用者*:::失敗:任何訊息

在這裡,我的正常轉發工作,但不是這個 * 一個

答案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

相關內容