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 受信を分けて読むと、メール基盤の責務を整理しやすくなります。
- Ubuntu 22.04 Postfix ローカル MTA 設定
- Ubuntu 22.04 Postfix 内部向けメールサーバー構築 – 通知基盤と relayhost の設計
- Ubuntu 22.04 Dovecot MRA メールサーバー構築
Dovecot の位置づけ
| 要素 | 役割 |
|---|---|
| Postfix | SMTP 受信、配送、リレー |
| Dovecot | IMAP / POP3 によるメール閲覧 |
| Maildir | ユーザーごとのメール保存形式 |
| TLS | メールクライアントとの通信保護 |
| 認証 | ローカルユーザー、LDAP、PAM などの認証経路 |
Dovecot をインストールする
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y dovecot-core dovecot-imapdMaildir を使う
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.confIMAP の待ち受けを確認する
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-pagerIMAP 接続を確認する
TLS 接続を確認する場合は openssl s_client を使います。
openssl s_client \
-connect mail.example.local:993 \
-servername mail.example.local \
-CAfile /etc/ssl/certs/ca-certificates.crtPostfix から配送されたメールを確認する
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 がメールボックス閲覧を担当する、と分けて考えると構成を整理しやすくなります。





