配信と認証·更新日 2026年8月23日

Postfix と Dovecot の違い:受信メールサーバーの役割と切り分け

Postfix、Dovecot、LMTP、キュー、IMAP の境界を理解し、証拠から受信障害の層を判断します。

レビュー Once Email 技術レビュー

このガイドでできること
受信障害が SMTP、キュー配送、メールボックス保存、IMAP アクセスのどこにあるか判断する。

記事ガイド

この記事を読む価値

独自分析
一通の受信メールを SMTP 受理、キュー、LMTP 配送、保存、IMAP アクセスに分解し、各エラー証拠を実際に責任を持つコンポーネントへ割り当てます。
トレンドの背景
Postfix と Dovecot は現在も併用されますが、コンテナや管理パネルが転送、最終配送、メールボックス閲覧の境界を隠し、誤診を招きます。
実用的な価値
運用者は SMTP 拒否、キュー遅延、書き込み失敗、IMAP 不可視を区別する表と確認順序を得て、機密本文をログへ残さずに調査できます。

Postfix と Dovecot は一緒に導入されることが多いものの、同じ仕事はしません。一般的な受信システムでは、Postfix が SMTP を受理してキューを管理し、Dovecot が LMTP による最終配送や IMAP によるメールボックス閲覧を担当します。一方が稼働中でも、受信全体が正常とは限りません。

これは診断マップであり、本番設定の手順書ではありません。実運用には DNS、TLS、宛先検証、不正利用対策、権限、バックアップ、監視、リレー制限が必要です。Once Email は受信専用で、SMTP 送信、返信、転送、一斉送信を提供しません。

役割の比較

判断PostfixDovecot
主なネットワーク役割SMTP の受信・送信IMAP/POP3 と LMTP 受け入れ
メールキュー管理する管理しない
SMTP 宛先の受理通常は Postfix のマップとポリシー構成により利用者情報を提供
最終メールボックスへの格納ローカル配送または委譲Dovecot LMTP が最終配送可能
クライアントによる閲覧提供しない通常 IMAP で提供

したがって「Postfix か Dovecot か」ではなく、責任の境界を問うのが正確です。

一通の受信メールを追う

Postfix 公式アーキテクチャでは、ネットワークメールが smtpd と cleanup を経てキューへ入り、キューマネージャーが配送エージェントを選びます。

  1. SMTP 接続:送信側が Postfix に到達する。
  2. 宛先受理:Postfix がエンベロープ宛先を規則で受理・拒否する。
  3. キューと引き渡し:受理済みメールを local、virtual、pipe、LMTP へ渡す。
  4. 閲覧:配送後、Dovecot が認可済みクライアントへ IMAP で提供する。

SMTP の 250 は受信箱で見えることを意味しません。その後の LMTP、容量、保存エラーで deferred になる場合があります。逆に保存済みでも IMAP 認証、インデックス、名前空間、ファイル権限で見えないことがあります。

LMTP が二つを接続する

Postfix が SMTP とキューを持ち、Dovecot LMTP に最終配送を渡す構成があります。Dovecot の LMTP ガイドは Postfix spool 内の保護された Unix socket を示します。

socket はコピーするだけのパスではありません。所有者、グループ、モード、chroot 内の位置、サービス状態が契約です。到達不能なら通常はキューを遅延させるべきで、空の受信箱として扱ってはいけません。全員書き込み可能にせず、必要なサービスアカウントへ最小権限だけを与えます。認証と通信保護を設計せず LMTP を公開しません。

証拠で切り分ける

証拠最初に確認する境界
25 番ポートへ接続不可DNS、Firewall、TLS、Postfix smtpd
本文前に宛先拒否Postfix の宛先マップとポリシー
SMTP 受理後も deferredPostfix キューと配送 transport
LMTP socket 不在・権限拒否Postfix–Dovecot 接続と権限
LMTP の容量・書き込み失敗Dovecot 配送と保存領域
ファイルはあるが IMAP に出ないDovecot 認証、名前空間、インデックス、権限

固有のテスト印と限定時間を使い、キュー ID、SMTP 状態区分、LMTP 結果、伏せ字済みメールボックス結果だけを残します。実アドレス、確認コード、Token、件名、本文、添付名、完全 URL を共有ログや Analytics に送りません。

設定変更前に4項目の追跡カードを作る

許可済みのテストメール1通について、秘匿化した4種類の事実だけを残します。これにより、受信、キュー、最終配送、メールボックス表示が同じトランザクションかを判断できます。

確認点残す情報分かること
SMTP受信時刻、拡張ステータスクラス、短縮したキューIDPostfixが受信したことを示すが、最終配送の証明ではない
キュー結果同じ短縮ID、transport名、delivered/deferred状態Postfixが配送経路を選び、完了または保留したことを示す
LMTP結果宛先や本文を含まない成功またはエラークラスDovecot LMTPが最終配送を受理したか、限定的な理由を返した
表示結果前後のメールボックス件数とアプリの読取結果保存状態が変わり、実際の読取経路から見えるかを示す

最初は読み取り専用で確認します。postqueue -p はキューを一覧しますが、全件を持ち出さず短縮IDでローカルに絞ります。doveadm mailbox status -u TEST_USER "messages unseen" INBOX は、許可済みテストIDだけで件数を確認します。公式の Postfix キューツールDovecot mailbox status が各値の意味を定義しています。時刻と秘匿化マーカーも一致しなければ、同じメールの証拠にはなりません。

分類ミスを避ける安全な順序

Dovecot の導入だけでは SMTP listener は生まれず、Postfix だけでは IMAP 受信箱は提供されません。SPF、DKIM、DMARC は認証と alignment の別レイヤーです。認証結果ガイドで確認してください。

空のキューは成功の証明ではなく、bounce、期限切れ、明示的破棄、配送済みの可能性があります。空の受信箱も未着の証明ではなく、問い合わせ失敗、オフライン、別の名前空間があり得ます。「結果なし」「一時失敗」「空を確認」を分けます。

SMTP endpoint を確認し、認可済みの一通を送り、Postfix の受理、キュー、配送、Dovecot の保存、実際の IMAP 読み取りの順に追跡します。試験メールボックスを削除し、伏せ字の証拠だけを保持します。観測前に両サービスを再起動すると時刻とキューの証拠が消え、原因は分かりません。

受信したヘッダーを読み取り、電子メールの配信パスを追跡する方法
Received ヘッダー フィールドを正しい順序で追跡し、タイムスタンプを安全に比較し、ホスト名、IP アドレス、および信頼できないトレース データの制限を認識します。
不安定なテストを構築せずに一時的な電子メール API を使用する方法
一時電子メール API テストの実用的な設計: 各実行を分離し、バックオフでポーリングし、適切なメッセージを識別し、秘密を保護し、常にクリーンアップします。
確認メールが届かない?安全なトラブルシューティングのチェックリスト
コードを繰り返し要求したり、アカウントのセキュリティを弱めたりすることなく、アドレスの間違い、送信者の遅延、再試行、フィルタリング、メールボックスの制限に対処できます。
メールヘッダー分析
配送経路と SPF、DKIM、DMARC の証拠を説明し、絶対的な真正性は断定しません。