変更要約: 初版(主題2.10・副主題2.10.1〜2.10.2に対応)
4.2Dovecotの設定と管理
Dovecot(MRA・メール取得エージェント)の設定を学びます。/etc/dovecot/配下の設定構造とdovecot.conf、設定確認コマンドdoveconf、運用管理コマンドdoveadm、POP3とIMAPの違い、TLSによる暗号化を押さえます。
Postfix(MTA)がメールを届けても、利用者がメールソフトからそれを取り出す仕組みが別途必要です。その役割(MRA)を担うのがDovecotで、POP3やIMAPサーバーとして動作します。MTAとMRAは責務が異なるため、設定ファイルもコマンドも別系統である点をまず押さえます。
4.2.1設定ファイルと確認コマンド
- 設定は/etc/dovecot/配下に集約され、中心となるのがdovecot.conf(多くのディストリでは
conf.d/以下に機能別ファイルへ分割され、そこから読み込まれる構成)。 - doveconf=現在有効な設定値を展開して表示する確認コマンド。分割・include後の実際の適用値を見られるため、設定ミスの切り分けに使う。
- doveadm=ユーザー・メールボックス・メール本体を操作する運用管理コマンド(メールボックス一覧・検索・移動などの管理操作を担う)。
4.2.2POP3・IMAP・TLS
- POP3=メールをクライアント側にダウンロードして削除する前提のシンプルなプロトコル(複数端末での同期には不向き)。
- IMAP=メールをサーバー側に残したままフォルダ構成・既読状態などを同期するプロトコル。複数端末からのアクセスが前提の運用で選ばれる。
- 通信の暗号化はTLSで行う。平文でのPOP3/IMAP通信・認証情報漏えいを避けるため、暗号化を前提にした運用が基本。
「POP3=ダウンロードして削除・複数端末に不向き」「IMAP=サーバーに残して同期・複数端末向き」の対比が最頻出です。コマンド面では「doveconfは設定確認(展開表示)・doveadmは運用管理(メールボックス操作)」という役割分担、そして設定の中心はdovecot.conf(/etc/dovecot/配下)である点を押さえます。
PostfixとDovecotは役割が違うだけでなく、トラブルシュートの入り口も別という点を実務では意識します。「メールが送信できない」ならPostfix側(キュー・main.cf・SMTP認証)を、「メールソフトで受信・同期がおかしい」ならDovecot側を疑うのが定石です。設定をconf.d/以下の複数ファイルに分割していると、どの値が最終的に有効なのか読みづらくなりますが、そこでdoveconfを使えば分割・includeを解決した後の実効値をまとめて確認できます。運用管理ではdoveadmでユーザーのメールボックス状態を調べたり、特定条件のメールを検索・移動したりできます。プロトコルの選定は運用要件次第で、スマートフォンとPCなど複数端末から同じメールボックスにアクセスして既読状態も揃えたいならIMAP一択、単一端末でサーバー容量を節約したいならPOP3という判断になります。いずれの場合もTLSによる暗号化を組み合わせ、認証情報やメール内容を平文でネットワークに流さないようにするのが前提です。
| 項目 | POP3 | IMAP |
|---|---|---|
| メールの保存場所 | クライアント側へダウンロード | サーバー側に保持 |
| 複数端末での同期 | 不向き | 向いている |
| 既読状態の同期 | なし | あり |
| 暗号化 | TLSで保護 | TLSで保護 |
ひっかけ: 「doveadmは設定ファイルの実効値を確認するコマンドである」は誤りです。設定確認はdoveconfの役割で、doveadmはメールボックスやメールそのものを操作する運用管理コマンドです。また「POP3はサーバー側にメールを残したまま複数端末で同期できる」も誤り=サーバーにメールを残して同期するのはIMAPの特徴です。
4.2.3この節のまとめ
- 設定は/etc/dovecot/・dovecot.conf中心/doveconf=設定確認(展開表示)/doveadm=運用管理(メールボックス操作)
- POP3=ダウンロード&削除・複数端末不向き/IMAP=サーバー保持&同期・複数端末向き。いずれもTLSで暗号化
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. スマートフォンとPCの両方から同じメールボックスにアクセスし、既読状態も両方の端末で一致させたい。選ぶべきプロトコルは?
Q2. Dovecotの設定が/etc/dovecot/conf.d/以下の複数ファイルに分割されており、ある項目の最終的な適用値がどれか分かりにくい。確認に使うべきコマンドは?
Q3. あるユーザーのメールボックスの状態を調べたり、特定条件のメールを検索・移動したりしたい。使うべきコマンドは?

