我正在為我的幾個虛擬網域/使用者使用基於檔案的配置(沒有 dbm,也沒有 sql)和 exim/dovecot。
我的configure
包含下一個routers
:
virtual_filter:
driver = redirect
allow_filter
no_check_local_user
condition = ${if exists{/home/mail/${domain}/${local_part}/filter}{yes}{no}}
domains = dsearch;/etc/mail/virtual
router_home_directory = /home/mail/${domain}/${local_part}
user = mailnull
group = mail
file = /home/mail/${domain}/${local_part}/filter
file_transport = virtual_address_file
pipe_transport = address_pipe
retry_use_local_part
no_verify
virtual_user:
....
virtual_aliases:
....
no_more
因此,如果存在,/home/mail/virtualdomain.com/username/filter
exim 將使用它。
我的一位用戶要求將他所有收到的電子郵件也複製到他的 Gmail 帳戶。因為
- 我的配置沒有
.forward
檢查虛擬用戶 - 並且
aliases
僅檢查虛擬域後投遞virtual_user
路線,因此僅當給定地址沒有虛擬郵箱時 - 但以上
virtual_filter
是路由器中的第一條規則
尋找一種方法如何使用他的filter
.
我嘗試過
unseen deliver <[email protected]>
但這導致僅將所有電子郵件轉發到 gmail,而不傳遞到 dovecot,我想要兩者:1.)通過virtual_user
標準路由傳遞,和 2.) 將訊息的副本發送至[email protected]
有什麼建議嗎?
答案1
剛剛弄清楚,添加到以下內容就足夠了:
/home/mail/myvirtualdomain.com/myuser/filter
接下來的兩行
unseen noerror deliver <[email protected]>
deliver <[email protected]>
因此,將一份副本發送到 gmail,另一份則發送到普通郵箱。