2024/05/06(月)メモ:cyrus-imapdとpostfixで複数ドメイン試してみた。

cyrus-imapd では、いつからか複数ドメインの扱いができるようになっていた。ちょっと試してみたので、その記録。例示用に書き換える過程で何か化けたかもしれないが、ごめんなさい。

環境

  • FreeBSD 14.0-RELEASE-p6
  • postfix-sasl-3.9.0,1 (FreeBSD package)
  • cyrus-imapd38-3.8.2 (FreeBSD package)

設定

postfix

複数ドメインを扱うので、virtual mailboxを使う。
  1. main.cf(よりぬき)
    myhostname = mbox.example.jp
    virtual_transport = lmtp:unix:/var/imap/socket/lmtp
    virtual_mailbox_domains = a.example.jp b.example.jp
    virtual_mailbox_maps = hash:imap_users
  2. imap_users
    foo@a.example.jp OK
    bar@a.example.jp OK
    hoge@b.example.jp OK
    fuga@b.example.jp OK
※master.cf のsubmissionの設定を生かしてもよい。

cyrus-imapd

  1. imapd.conf(よりぬき)
    unixhierarchysep: yes #FQDNには'.'が入るので、念のため。
    sasl_pwcheck_method: auxprop
    virtdomains: userid
    defaultdomain: a.example.jp
    admins: admin
  2. cyradm操作
    % cyradm --user=admin localhost
    localhost>cm user/foo           #'%'や'@'が無い場合、defaultdomainの下に入る。
    localhost>cm user/bar@a.example.jp   #FQDNで指定してもよい。
    localhost>cm user/hoge@b.example.jp
    localhost>cm user/fuga@b.example.jp
    localhost>quit
    %
    

cyrus-sasl

# saslpasswd2 -c foo               # defaultdomain したものは、既定のrealmで。
# saslpasswd2 -c bar
# saslpasswd2 -c hoge@b.example.jp # defaultdomain 以外はFQDNで。
# saslpasswd2 -c fuga@b.example.jp
※ submission認証@postfixにも同じID/passが使われる。