exim のフィルターを使用して仮想ユーザーのメールを転送する

exim のフィルターを使用して仮想ユーザーのメールを転送する

私は、exim/dovecot を使用して、いくつかの仮想ドメイン/ユーザーにファイルベースの構成 (dbm も sql も使用していません) を使用しています。

私の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ルーターの最初のルールです

この 1 人のユーザーのすべての受信メールを自分の を使ってコピーする方法を探していますfilter

私は試しました

unseen deliver <[email protected]>

しかし、これはすべてのメールをGmailに転送するだけでdovecotに配信されないため、私は両方を希望しています: 1.)ルート経由でvirtual_user標準として配信、そして 2.) メッセージのコピーを[email protected]

なにか提案を?

答え1

今気づいたのですが、以下を追加するだけで十分です:

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

次の2行

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

したがって、1 つのコピーを Gmail に配信し、もう 1 つを通常のメールボックスに配信します。

関連情報