Source: https://once-email.com/ja/blog/corecomponent

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

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

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

[Once Email エンジニアリング, Once Email author Once Email エンジニアリング](<https://once-email.com/ja/about>)

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

このガイドでできること

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

記事ガイド

この記事を読む価値

**独自分析**

一通の受信メールを SMTP 受理、キュー、LMTP 配送、保存、IMAP アクセスに分解し、各エラー証拠を実際に責任を持つコンポーネントへ割り当てます。

**トレンドの背景**

Postfix と Dovecot は現在も併用されますが、コンテナや管理パネルが転送、最終配送、メールボックス閲覧の境界を隠し、誤診を招きます。

**実用的な価値**

運用者は SMTP 拒否、キュー遅延、書き込み失敗、IMAP 不可視を区別する表と確認順序を得て、機密本文をログへ残さずに調査できます。

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

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

## [役割の比較](<https://once-email.com/ja/blog/corecomponent#%E5%BD%B9%E5%89%B2%E3%81%AE%E6%AF%94%E8%BC%83>)

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

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

## [一通の受信メールを追う](<https://once-email.com/ja/blog/corecomponent#%E4%B8%80%E9%80%9A%E3%81%AE%E5%8F%97%E4%BF%A1%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E8%BF%BD%E3%81%86>)

[Postfix 公式アーキテクチャ](<https://www.postfix.org/OVERVIEW.html>) では、ネットワークメールが ` smtpd ` と cleanup を経てキューへ入り、キューマネージャーが配送エージェントを選びます。

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

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

## [LMTP が二つを接続する](<https://once-email.com/ja/blog/corecomponent#lmtp-%E3%81%8C%E4%BA%8C%E3%81%A4%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B>)

Postfix が SMTP とキューを持ち、Dovecot LMTP に最終配送を渡す構成があります。[Dovecot の LMTP ガイド](<https://doc.dovecot.org/2.4.2/howto/lmtp/postfix>) は Postfix spool 内の保護された Unix socket を示します。

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

## [証拠で切り分ける](<https://once-email.com/ja/blog/corecomponent#%E8%A8%BC%E6%8B%A0%E3%81%A7%E5%88%87%E3%82%8A%E5%88%86%E3%81%91%E3%82%8B>)

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

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

## [設定変更前に4項目の追跡カードを作る](<https://once-email.com/ja/blog/corecomponent#%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4%E5%89%8D%E3%81%AB4%E9%A0%85%E7%9B%AE%E3%81%AE%E8%BF%BD%E8%B7%A1%E3%82%AB%E3%83%BC%E3%83%89%E3%82%92%E4%BD%9C%E3%82%8B>)

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

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

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

## [分類ミスを避ける安全な順序](<https://once-email.com/ja/blog/corecomponent#%E5%88%86%E9%A1%9E%E3%83%9F%E3%82%B9%E3%82%92%E9%81%BF%E3%81%91%E3%82%8B%E5%AE%89%E5%85%A8%E3%81%AA%E9%A0%86%E5%BA%8F>)

Dovecot の導入だけでは SMTP listener は生まれず、Postfix だけでは IMAP 受信箱は提供されません。SPF、DKIM、DMARC は認証と alignment の別レイヤーです。[認証結果ガイド](<https://once-email.com/ja/blog/read-spf-dkim-dmarc-results>) で確認してください。

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

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

## 関連ガイド

受信したヘッダーを読み取り、電子メールの配信パスを追跡する方法

Received ヘッダー フィールドを正しい順序で追跡し、タイムスタンプを安全に比較し、ホスト名、IP アドレス、および信頼できないトレース データの制限を認識します。

[受信したヘッダーを読み取り、電子メールの配信パスを追跡する方法](<https://once-email.com/ja/blog/read-received-headers>)

不安定なテストを構築せずに一時的な電子メール API を使用する方法

一時電子メール API テストの実用的な設計: 各実行を分離し、バックオフでポーリングし、適切なメッセージを識別し、秘密を保護し、常にクリーンアップします。

[不安定なテストを構築せずに一時的な電子メール API を使用する方法](<https://once-email.com/ja/blog/temporary-email-api-testing-guide>)

確認メールが届かない？安全なトラブルシューティングのチェックリスト

コードを繰り返し要求したり、アカウントのセキュリティを弱めたりすることなく、アドレスの間違い、送信者の遅延、再試行、フィルタリング、メールボックスの制限に対処できます。

[確認メールが届かない？安全なトラブルシューティングのチェックリスト](<https://once-email.com/ja/blog/anxiety>)

## プライバシーを優先したメールツール

メールヘッダー分析

配送経路と SPF、DKIM、DMARC の証拠を説明し、絶対的な真正性は断定しません。

[メールヘッダー分析](<https://once-email.com/ja/tools/email-header-analyzer>)

[多数のメール添付を UnpackFlow でローカル展開する手順 専用フォルダーで各ダウンロードを確認し、list、plan、run、start を使って分割・入れ子アーカイブをローカル処理します。](<https://once-email.com/ja/blog/batch-email-attachments-unpackflow>) [一時メールの有効期限はどのくらいですか?期限が切れる前に計画を立てる Once Email の有効期間の選択、削除と置換を理解し、何を保存するか、いつアカウントに永久回復アドレスが必要かを決定します。](<https://once-email.com/ja/blog/readbook>)
