手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 Dovecot IMAP サーバー – Maildir と Postfix 連携

Ubuntu 22.04 で Dovecot を使い、IMAP によるメール閲覧環境を構築する手順です。Postfix がメールを配送する MTA であるのに対して、Dovecot はユーザーがメールボックスを読むための MRA / IMAP サーバーです。

この記事では、Postfix が Maildir へ配送する前提で、Dovecot の mail_location、IMAP 待ち受け、TLS、認証、Postfix との責務分離を整理します。

参考書籍
参考書籍

Postfix詳解 MTAの理解とメールサーバの構築・運用

Postfix を中心にメールサーバーの構築と運用を確認したい場合の参考書籍です。Dovecot と組み合わせたメール基盤を理解する補助として使えます。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連するメールサーバー記事

Postfix と Dovecot は役割が異なります。ローカル通知、内部向け SMTP、IMAP 受信を分けて読むと、メール基盤の責務を整理しやすくなります。

Dovecot の位置づけ

要素役割
PostfixSMTP 受信、配送、リレー
DovecotIMAP / POP3 によるメール閲覧
Maildirユーザーごとのメール保存形式
TLSメールクライアントとの通信保護
認証ローカルユーザー、LDAP、PAM などの認証経路

Dovecot をインストールする

sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y dovecot-core dovecot-imapd

Maildir を使う

Postfix 側で home_mailbox = Maildir/ を使う場合、Dovecot 側も Maildir を参照するように設定します。

sudo sed -i 's|^#\?mail_location =.*|mail_location = maildir:~/Maildir|' /etc/dovecot/conf.d/10-mail.conf
grep '^mail_location' /etc/dovecot/conf.d/10-mail.conf

IMAP の待ち受けを確認する

sudo systemctl restart dovecot
sudo systemctl status dovecot --no-pager
ss -ltnp | grep -E ':143|:993'

TLS を設定する

内部 CA で発行した証明書を使う場合は、Dovecot にサーバー証明書と秘密鍵を指定します。

sudo postconf -n >/dev/null
sudo sed -i 's|^ssl = .*|ssl = required|' /etc/dovecot/conf.d/10-ssl.conf
sudo sed -i 's|^ssl_cert = .*|ssl_cert = </etc/ssl/local/mail.example.local.crt|' /etc/dovecot/conf.d/10-ssl.conf
sudo sed -i 's|^ssl_key = .*|ssl_key = </etc/ssl/local/mail.example.local.key|' /etc/dovecot/conf.d/10-ssl.conf
sudo systemctl restart dovecot

秘密鍵の権限が広すぎるのは危険ですが、Dovecot が読めない権限でも起動に失敗します。サービスユーザーとグループを確認して調整します。

認証方式を確認する

Dovecot は PAM、passwd-file、LDAP など複数の認証方式を扱えます。Ubuntu の基本構成では PAM 経由でローカルユーザー認証を使う形になります。LDAP 認証へ広げる場合は、SSSD や Dovecot LDAP 設定との責務を分けて考えます。

doveconf -n | grep -E 'auth|passdb|userdb|mail_location'
sudo journalctl -u dovecot -n 50 --no-pager

IMAP 接続を確認する

TLS 接続を確認する場合は openssl s_client を使います。

openssl s_client \
  -connect mail.example.local:993 \
  -servername mail.example.local \
  -CAfile /etc/ssl/certs/ca-certificates.crt

Postfix から配送されたメールを確認する

Postfix が Maildir へ配送している場合、ユーザーのホームディレクトリ配下に Maildir が作られます。

sudo ls -la /home/example-user/Maildir
sudo find /home/example-user/Maildir -type f | head

運用上の注意

  • Postfix と Dovecot の役割を混同しない
  • Postfix の配送形式と Dovecot の mail_location を一致させる
  • IMAP over TLS ではクライアント側の CA 信頼も確認する
  • LDAP 認証を使う場合は SSSD / Dovecot LDAP / PAM のどこで認証するかを決める
  • メールボックスの権限と容量管理を別途考える

まとめ

Ubuntu 22.04 の Dovecot は、Postfix が配送したメールを IMAP で読むためのサーバーです。Postfix が SMTP と配送を担当し、Dovecot がメールボックス閲覧を担当する、と分けて考えると構成を整理しやすくなります。

Ubuntu 22.04 Dovecot IMAP サーバー – Maildir と Postfix 連携

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る