WSLを使ってメーリングリストを作成(複数ドメイン)

 複数のドメインを運用しているため、mailmanをそれぞれのドメインでも動くようにする。

 postfix+mailmanで複数ドメインに対応する方法はいくつかるようだが、一番単純なメーリングリスト名は全ドメイン共通での設定にする。
 postfix-to-mailman.pyを使えば、配送経路などもちゃんと設定できるらしいが、今回はそこまでしない。

・MercuryMailの設定

別ドメインのメーリングリストで使用するメールアカウントを作成する
ユーザー名:mydomain2
そのメールアカウントを、Configurationー”Mercury Core Module Configuration”ー”Local Domains” にドメインメールボックスとして追加する

Core ModuleーLocal Domains
追加
  ↓
DM=mydomain2 ml.mydomain2.net

・postfixの設定

 変更なし

・mailmanの設定

 別ドメインを仮想ホストとして登録する。

  $ sudo vi /etc/mailman/mm_cfg.py
DEFAULT_EMAIL_HOST = 'ml.mydomain.com'
 ↓
DEFAULT_EMAIL_HOST = 'ml.mydomain.com'
VIRTUAL_EMAIL_HOST1 = 'ml.mydomein2.net'

DEFAULT_URL_HOST   = 'ml.mydomain.com'
 ↓
DEFAULT_URL_HOST   = 'ml.mydomain.com'
VIRTUAL_URL_HOST1 = 'ml.mydomain2.net'

POSTFIX_STYLE_VIRTUAL_DOMAINS = [DEFAULT_EMAIL_HOST]
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
 ↓
POSTFIX_STYLE_VIRTUAL_DOMAINS = [DEFAULT_EMAIL_HOST, VIRTUAL_EMAIL_HOST1]
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
add_virtualhost(VIRTUAL_URL_HOST1, VIRTUAL_EMAIL_HOST1)

・fetchmailの設定

ml.mydomain2.netのメールをポーリングするよう追加する。

    $ sudo vi /root/.fetchmailrc
poll mail.mydomain.com with proto imap envelope "X-Envelope-To"
  localdomains ml.mydomain2.net 
  user "mydomain2" with pass "mailパスワード" to * here

複数ドメインであっても一つのメールボックスで処理するときは、以下のように記述する

poll mail.mydomain.com with proto imap envelope "X-Envelope-To"
  localdomains ml.mydomain.com ml.mydomain2.net 
  user "mydomain" with pass "mailパスワード" to * here

・注意

 メーリングリストの全体的オプションで、メールの送信に使うホスト名(ドメイン名)を変更した場合に、/var/lib/mailman/data/virtual-mailmanが更新されなかったので、以下のコマンドで強制的に更新する必要があった。

    $ sudo /usr/lib/mailman/bin/genaliases