用exim的filter转发虚拟用户的电子邮件

我正在使用基于文件的configuration(无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帐户中。 因为

  • 我的configuration没有对虚拟用户的前向检查
  • 并且仅虚拟用户传送路由之后才检查虚拟域的aliases ,所以只有在给定地址不具有虚拟邮箱的情况下
  • 但上面的virtual_filter是路由器中的第一条规则

寻找一种方法如何使用他的filter复制这个用户的所有传入电子邮件。

我试过了

 unseen deliver <[email protected]> 

但是这只会导致所有发送给gmail的邮件没有发送给dovecot,我希望两者都是:1.)通过virtual_user路由作为标准提供, 并且 2.)将邮件副本发送到[email protected]

任何build议?

只是想通了,这足以补充:

 /home/mail/myvirtualdomain.com/myuser/filter 

接下来的两行

 unseen noerror deliver <[email protected]> deliver <[email protected]> 

所以,交付一个副本到Gmail和另一个到正常邮箱。