やりたいこと

実現方針の検討

実現したいことは、大きく二つに分けることができ、それぞれの実現方針を以下とする。

  1. 届けられたメールが、割り当てられた複数のドメインのいずれかのドメイン宛ならば受信し、それ以外なら受信しない
  2. 宛先メールアドレスが受信対象ドメインだったとき、ローカルパートがどんな文字列でも一つのメールアドレス宛として受信する

基本は、Exim4 のマニュアルのここ (https://www.exim.org/exim-html-current/doc/html/spec_html/ch-some_common_configuration_settings.html#SECTvirtualdomains) にあるとおり。

やりたいことは、”Virtual Domain” の一つ目の方の意味で読み取り、例にあげられている設定方法をカスタムすれば実現できそう。

具体的な設定方法

例にあげられている設定方法が、「複数のドメイン宛のメールを受信するための設定方法」であるため、これに「ローカルパートがどんな文字列であっても一つのアドレスで受信する設定」を行うことで目的を果たせるはず。

という訳で、設定方法の戦略は以下。

  1. 受信対象ドメインの管理は、例にあげられている通り、特定ディレクトリの下に受信対象ドメインを名前としたファイルを作る方法で行う
  2. ローカルパートがどんな文字列であっても受信するため、受信対象ドメインの設定ファイルは、ワイルドカードですべてのメールを一つのアカウントで受信するように記述する

1.

これを実現する、具体的な設定値は以下の通り。

domainlist local_domains = MAIN_LOCAL_DOMAINS:dsearch;/etc/exim4/vdom

vdom_aliases:
  driver = redirect
  #allow_defer
  #allow_fail
  domains = dsearch;/etc/exim4/vdom
  data = ${lookup{$local_part}lsearch*{/etc/exim4/vdom/$domain_data}}
  #pipe_transport = address_pipe
  #file_transport = address_file
  # no_more