使用 exim 的過濾器轉發虛擬使用者的電子郵件

使用 exim 的過濾器轉發虛擬使用者的電子郵件

我正在為我的幾個虛擬網域/使用者使用基於檔案的配置(沒有 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/filterexim 將使用它。

我的一位用戶要求將他所有收到的電子郵件也複製到他的 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,另一份則發送到普通郵箱。

相關內容