Exim

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

  • April 27, 2022

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

虛擬別名:
驅動程序=重定向
允許延遲
允許失敗
域 = lsearch;/etc/userdomains
使用者=“${查找\
{$域名} \
lsearch{/etc/userdomains} \
{$值} \
}"
組=“$ {查找\
{$域名} \
lsearch{/etc/userdomains} \
{$值} \
}"
地址數據=\
“路由器=$路由器名稱\
重定向=${報價:${查找\
{$local_part} \
lsearch{${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/etc/${ perl{untaint}{$domain}}/別名} \
}}”
數據 = ${extract{redirect}{$address_data}}
文件傳輸 = 地址文件
router_home_directory = ${提取\
{5} \
{::} \
{${查找密碼\
{${查找\
{$domain_data} \
lsearch{/etc/userdomains} \
{$值} \
}} \
{$值} \
}} \
}
local_part_suffix = +*
local_part_suffix_optional
retry_use_local_part
看不見


使用者轉發:
驅動程序=重定向
允許過濾器
允許失敗
forbid_filter_run
forbid_filter_perl
forbid_filter_lookup
forbid_filter_readfile
forbid_filter_readsocket
檢查祖先
check_local_user
域 = $primary_hostname
no_expn
require_files = "+$home/.forward"
條件 = "${extract{size}{${stat:$home/.forward}}}"
文件 = $home/.forward
文件傳輸 = 地址文件
回復運輸 = 地址回复
directory_transport = 地址目錄
使用者 = $local_part_data
組 = $local_part_data
no_verify

文件作為使用者:redirect@domain.com,使用者 *::::fail:Any Message

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

應該是這樣的。

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

只需使用nwildlsearch而不是lsearch*條目放在文件的底部。

引用自:https://serverfault.com/questions/1098396