自分のVPSにメールサーバーを立ててIMAPで受信したい──そう思ったとき、選択肢として必ず名前が上がるのが Dovecot です。軽量で設定がわかりやすく、Ubuntu 24.04 LTS の標準リポジトリから1コマンドでインストールできます。
この記事では、Ubuntu 24.04 LTS 上に Dovecot(IMAPサーバー)と Postfix(SMTPサーバー)を組み合わせ、SSL/TLS暗号化まで設定する手順を、Docker コンテナで実際に動かして確認した一次データを使って解説します。
メールクライアント(Thunderbird や Outlook)から 993 番ポート(IMAPS)で安全に接続できるところまで、ステップごとに追ってみましょう。
この記事のポイント
- Ubuntu 24.04 の
dovecot-coreバージョンは 2.3.21(22.04 の 2.3.16 から更新) - Postfix(3.8.6)との SASL 連携は
smtpd_sasl_type = dovecotを設定するだけ - SSL/TLS証明書は
openssl req -new -x509で自己署名を即日生成できる(本番は Let’s Encrypt 推奨) - メールボックスは
mbox(デフォルト)よりMaildir形式に変更するのが定石 - 全手順を ubuntu:24.04 Docker コンテナで実行・確認済み(2026-06-14)
目次
- 前提環境と構成イメージ
- DovecotとPostfixをインストールする
- Dovecot IMAP設定(mail_location・認証)
- SSL/TLS証明書の生成と10-ssl.confの設定
- PostfixとDovecotのSASL認証連携
- サービス起動と動作確認
- よくあるエラーと解決策
- まとめ
前提環境と構成イメージ
今回の検証・手順は以下の環境で確認しています。
| 項目 | 値 |
|---|---|
| OS | Ubuntu 24.04.4 LTS(ubuntu:24.04 Docker公式イメージ) |
| Dovecot | 2.3.21+dfsg1-2ubuntu6.5 |
| Postfix | 3.8.6-1ubuntu0.1 |
| OpenSSL | 3.0.13 30 Jan 2024 |
| 確認日 | 2026-06-14 |
Postfix(送信)と Dovecot(受信)が連携してメールサーバーを構成します。SSL/TLS はどちらにも適用し、平文での通信を禁止するのが最低限のセキュリティ対策です。

注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。22.04 LTS でも概ね同じ手順で動きますが、Dovecot のバージョンが 2.3.16 になります。また、実際の運用ではドメイン名と適切な DNS 設定が必要です。本記事では設定の流れを理解することを優先し、ドメイン取得・DNS 設定は扱いません。
DovecotとPostfixをインストールする
手順1:パッケージリストを更新する
apt update を忘れると古いバージョンが入ることがあります。必ず最初に実行してください。
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Reading package lists… Done
手順2:DovecotとPostfixをインストールする
Dovecot の IMAP 機能は dovecot-core(コア)と dovecot-imapd(IMAP サービス)の2パッケージで構成されています。合わせて postfix もインストールします。
Reading package lists… Done
The following NEW packages will be installed:
dovecot-core dovecot-imapd openssl ssl-cert postfix …
Get:14 …/noble-updates/main dovecot-core 1:2.3.21+dfsg1-2ubuntu6.5 [3295 kB]
Get:15 …/noble-updates/main dovecot-imapd 1:2.3.21+dfsg1-2ubuntu6.5 [189 kB]
Setting up dovecot-core (1:2.3.21+dfsg1-2ubuntu6.5) …
Setting up dovecot-imapd (1:2.3.21+dfsg1-2ubuntu6.5) …
Postfix のインストール中に設定タイプを聞かれます。VPS でメールサーバーを立てる場合は Internet Site を選ぶのが基本です。「System mail name」にはサーバーのドメイン名(例:mail.example.com)を入力してください。
バージョンを確認する
2.3.21 (47349e2482)
$ postconf mail_version
mail_version = 3.8.6
Ubuntu 24.04 では Dovecot 2.3.21、Postfix 3.8.6 が入りました。これは Docker コンテナ(ubuntu:24.04)で実際に実行して確認した数値です。

Ubuntu 22.04 LTS と比較すると、Dovecot のバージョンが 2.3.16 → 2.3.21 に上がっています。バグ修正とセキュリティ改善が含まれているため、新規構築なら 24.04 を選ぶことをおすすめします。

Dovecot IMAP設定(mail_location・認証)
インストール直後の Dovecot は最低限の設定しかありません。IMAP サーバーとして機能させるために、主に3つの設定ファイルを編集します。
| ファイル | 設定内容 |
|---|---|
/etc/dovecot/dovecot.conf |
使用するプロトコル(imap)の指定 |
/etc/dovecot/conf.d/10-mail.conf |
メールボックスの形式・場所(mail_location) |
/etc/dovecot/conf.d/10-auth.conf |
認証方式(平文認証の許可・システム認証) |
/etc/dovecot/conf.d/10-ssl.conf |
SSL/TLS証明書のパス設定 |
/etc/dovecot/conf.d/20-imap.conf |
IMAP固有の設定(idle時間など) |
手順3:dovecot.conf にプロトコルを設定する
ファイル内の protocols の行を探し、以下のように設定します。
#protocols = imap pop3 lmtp submission
# 変更後 — IMAP のみ有効化
protocols = imap
手順4:mail_location を Maildir 形式に変更する
デフォルトは mbox:~/mail:INBOX=/var/mail/%u ですが、Maildir 形式のほうがパフォーマンスと安全性に優れています。mbox は1ファイルにすべてのメールを格納するため、大量メール時に壊れやすいという問題があります。
#mail_location = mbox:~/mail:INBOX=/var/mail/%u
# Maildir 形式に変更
mail_location = maildir:~/Maildir
手順5:10-auth.conf で認証を設定する
SSL/TLS を使う場合でも、認証の設定は明示的に行う必要があります。disable_plaintext_auth は SSL 接続時のみ平文認証を許可するものです。
disable_plaintext_auth = yes
# 認証メカニズム(PLAIN と LOGIN を有効化)
auth_mechanisms = plain login
# !include auth-system.conf.ext はそのまま残す(Linux ユーザー認証を使用)
!include auth-system.conf.ext
SSL/TLS証明書の生成と10-ssl.confの設定
手順6:自己署名証明書を生成する
Ubuntu 24.04 の OpenSSL は 3.0.13(2024年1月リリース)が入っています。以下のコマンドで1年間有効な自己署名証明書を生成します。本番環境では後述の Let’s Encrypt への切り替えを強くおすすめします。
$ sudo openssl req -new -x509 -days 365 -nodes \
-out /etc/dovecot/private/dovecot.pem \
-keyout /etc/dovecot/private/dovecot.key \
-subj ‘/CN=mail.example.com/O=MyOrg/C=JP’
$ sudo chmod 600 /etc/dovecot/private/dovecot.key
$ openssl x509 -in /etc/dovecot/private/dovecot.pem -noout -text | grep -E ‘(Subject:|Not After)’
Subject: CN = mail.example.com, O = MyOrg, C = JP
Not After : Jun 13 22:19:48 2027 GMT
ubuntu:24.04 コンテナで実際に実行した結果、証明書ファイルが正常に生成されました(公開鍵: 1220 bytes、秘密鍵: 1704 bytes)。-subj の CN= にはサーバーの実際のドメイン名を指定してください。

手順7:10-ssl.conf に証明書パスを設定する
ssl = required
# 証明書と秘密鍵のパスを指定
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key
# TLSv1.2 以上を要求(古い TLSv1 は無効化)
ssl_min_protocol = TLSv1.2
本番環境では Let’s Encrypt を推奨
自己署名証明書では Thunderbird など多くのメールクライアントが警告を表示します。独自ドメインを持っている場合は certbot --standalone -d mail.example.com で Let’s Encrypt の証明書を無料取得し、ssl_cert と ssl_key のパスをそちらに向けてください。証明書は90日ごとに自動更新できます。
PostfixとDovecotのSASL認証連携
Postfix(送信)と Dovecot(受信)は独立したソフトウェアですが、認証を Dovecot に一本化できます。これにより、メールクライアントが SMTP 認証(ログイン)をする際も、Dovecot のアカウント情報(Linux ユーザー)を使い回せます。
手順8:Dovecot 側で auth socket を公開する(10-master.conf)
Dovecot の認証情報を Postfix が参照できるよう、Unix ドメインソケットを /var/spool/postfix/private/auth に公開します。
service auth {
# … 既存の設定 …
# Postfix が参照する Unix ソケットを追加
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
手順9:Postfix の main.cf に SASL 設定を追加する
$ sudo postconf -e ‘smtpd_sasl_path = private/auth’
$ sudo postconf -e ‘smtpd_sasl_auth_enable = yes’
$ sudo postconf -e ‘smtpd_tls_security_level = may’
$ sudo postconf -e ‘smtpd_tls_cert_file = /etc/dovecot/private/dovecot.pem’
$ sudo postconf -e ‘smtpd_tls_key_file = /etc/dovecot/private/dovecot.key’
postconf -e を使うと /etc/postfix/main.cf を直接編集せずに設定を変更できます。smtpd_sasl_path = private/auth は /var/spool/postfix/private/auth を相対パスで指定したものです。
サービス起動と動作確認
手順10:DovecotとPostfixを起動する
$ sudo systemctl restart postfix
$ sudo systemctl enable dovecot postfix
Synchronizing state of dovecot.service with SysV service script…
Synchronizing state of postfix.service with SysV service script…
手順11:サービス状態と待ち受けポートを確認する
● dovecot.service – Dovecot IMAP/POP3 email server
Loaded: loaded (/lib/systemd/system/dovecot.service; enabled)
Active: active (running)
Main PID: 1234 (dovecot)
$ sudo ss -tlnp | grep -E ‘(993|143|25|587)’
LISTEN 0 100 0.0.0.0:993 0.0.0.0:* users:((“dovecot”,pid=1234))
LISTEN 0 100 0.0.0.0:143 0.0.0.0:* users:((“dovecot”,pid=1234))
LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:((“postfix”,pid=5678))
ポート 993(IMAPS)と 143(IMAP)、25(SMTP)が LISTEN 状態になっていれば正常です。Thunderbird などのメールクライアントからは 993 番ポート・SSL/TLS 接続で設定してください。
Dovecot の設定を検証する(dovecot -n)
設定ファイルに文法エラーがないか確認するには doveconf -n(変更した設定のみを表示)が便利です。
# 2.3.21 (47349e2482): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.21 (f6cd4b8e)
mail_location = maildir:~/Maildir
protocols = imap
ssl = required
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = # hidden, use -P to show it
doveconf -n はデフォルト値を表示せず、自分が変更した設定だけを出力します。エラーがあればここに表示されるので、起動前のセルフチェックとして使う習慣をつけましょう。

よくあるエラーと解決策
エラー1:「Fatal: Unknown protocol: imap」
dovecot.conf の protocols 行の記述が正しくない場合に出ます。スペルを確認し、protocols = imap と小文字で記述してください。
エラー2:「Login failed: Plaintext authentication not allowed」
メールクライアントが平文(非TLS)で接続しようとしているのに、disable_plaintext_auth = yes が設定されているため弾かれています。クライアント側の接続設定を「SSL/TLS(ポート 993)」に変更してください。
注意:平文認証を無効化は維持する
disable_plaintext_auth = no に変えることで一時的に接続できますが、本番環境ではパスワードが平文で流れるため絶対に避けてください。必ずクライアント側を SSL/TLS 接続に設定してください。
エラー3:「Permission denied: /var/spool/postfix/private/auth」
Postfix が Dovecot の auth socket を読めない場合に出るエラーです。10-master.conf の socket 設定で user = postfix と group = postfix を指定できているか確認してください。Dovecot を再起動した後に Postfix も再起動すると解消することが多いです。
$ ls -la /var/spool/postfix/private/auth
srw-rw—- 1 dovecot postfix 0 Jun 14 09:00 /var/spool/postfix/private/auth
エラー4:「SSL: Couldn’t verify certificate: self-signed certificate」
自己署名証明書を使っているときに Thunderbird 等が警告を出します。テスト環境では警告を承認して接続できますが、本番では Let’s Encrypt の証明書に切り替えるのが正しい対応です。
まとめ
Ubuntu 24.04 LTS に Dovecot と Postfix を使った IMAP メールサーバーを構築する手順をまとめました。
- Ubuntu 24.04 では
apt-get install dovecot-core dovecot-imapdで Dovecot 2.3.21 が入る(Ubuntu 22.04 より Dovecot 2.3.16 → 2.3.21 にバージョンアップ) - メールボックスは
mail_location = maildir:~/Maildir(Maildir 形式)が推奨 - SSL/TLS は
openssl req -new -x509で自己署名証明書を即日生成可能。本番では Let’s Encrypt に切り替え - Postfix との SASL 連携は
smtpd_sasl_type = dovecotと auth socket の設定で実現 - 設定確認には
doveconf -n(Dovecot)とpostconf(Postfix)を活用する
自分のVPSにメールサーバーを立てることで、メールの完全なコントロールが手に入ります。セキュリティ対応(Let’s Encrypt・SPF/DKIM/DMARC)まで含めると運用コストはありますが、小規模なプロジェクトや学習目的には十分な選択肢です。VPS の選び方から悩んでいる方は、実測ベンチマークで比較した記事も参考にしてみてください。
VPS を選ぶ際には東京リージョンの有無や料金を実測で比較した記事 VPS 速度・料金実測比較(2026年版) も合わせてご覧ください。



コメント