2024/05/06(月)メモ:dma(8)を設定してみた。

先のポストで構築したメールサーバにもっぱら送信するだけのMTAを、FreeBSD 14.0-RELEASEでsendmail(8)を押しのけて入ってきたdma(8)で構築してみました。

/etc/rc.conf

既存のMTA等を殺しておく。うちのお試し用ホストならこんなもの。なお、dma(8)にはリモートからのメールを受信する機能はなく、そのせいか常駐していないので、ここに追加するネタは無い。
sendmail_enable="NONE"
postfix_enable="NO"
cyrus_imapd_enable="NO"
dovecot_enable="NO"

/etc/mail/mailer.conf

MTAとしてdma(8)を起動するよう書き換える。
# cp /usr/share/examples/dma/mailer.conf /etc/mail/mailer.conf
# chown root:wheel /etc/mail/mailer.conf
# chmod 0644 /etc/mail/mailer.conf

/etc/periodic.conf

作成して、sendmail(8)用のジョブを殺しておく。postfix(8)をインストールした人なら、お馴染みの作業。
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

/etc/dma/dma.conf

# メールサーバの実アドレス
SMARTHOST mail.example.jp
# imapサーバで受信するアドレスにしておくと、それなりに楽。
MASQUERADE a.example.jp
# ローカル受信禁止
NULLCLIENT

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が使われる。