QMGR(8)                                                                QMGR(8)

名前
       qmgr - Postfix キューマネージャ

書式
       qmgr [generic Postfix daemon options]

解説
       qmgr(8)  デーモンは入ってくるメールの到着を待ち、Postfix 配送プロセスが
       配送するための準備をします。実際のメールルーティング 方 法 は  trivial-
       rewrite(8)  デーモンに委託されます。このプログラムは master(8) プロセス
       マネージャから起動されることを想定しています。

       ローカルの double-bounce アドレス宛のメールはログに記録されて捨てられま
       す 。これにより配送できないバウンス通知によって起こる潜在的なループが止
       められます。

メールキュー
       qmgr(8)デーモンは次のキューの保守をします:

       incoming
              ネットワークから入ってくるメール、またはローカル pickup(8)  エー
              ジェントが maildrop ディレクトリから拾ってきたメール。

       active 配送するためにキューマネージャが開いたメッセージ。 active キュー
              に入れられるメッセージは限られた数だけです(固定された配送速度 の
              ための穴あきバケツ戦略)。

       deferred
              最初の試行で配送できなかったメール。キューマネージャには配送試行
              の間隔を倍にして指数的に遅らせる機構が組み込まれています。

       corrupt
              読めない、もしくは損傷したキューファイルは検査のためにここに移動
              されます。

       hold   "hold"  に保存されたメッセージは誰かが開放するまでそこに留められ
              ます。 sets them free.

配送状態レポート
       qmgr(8) デーモンは次のディレクトリのメッセージごとの配送状態レポート に
       注 目 し つづけます。それぞれの状態レポートファイルは対応するメッセージ
       ファイルと同じ名前です:

       bounce メールがバウンスされた理由に関する受信者ごとの状態の情報。これら
              のファイルは bounce(8) デーモンにより保守されます。

       defer  メールが遅延された理由に関する受信者ごとの状態の情報。これらのフ
              ァイルは defer(8) デーモンにより保守されます。

       trace  Postfix "sendmail -v" または "sendmail -bv" コマンドで要求される
              受信者ごとの状態の情報。これらのファイルは trace(8) デーモンによ
              り保守されます。

       qmgr(8) デーモンは bounce(8)defer(8) または trace(8) デーモンに不達レ
       ポートを送るように依頼する責任を負います。

方法
       キューマネージャにはキューファイルを開いたり(入力)メッセージ配送 (出力)
       するための様々な方法が組み込まれています。

       穴あきバケツ
              この方法は active キュー内のメッセージの数を制限し、負荷が重い時
              にキューマネージャがメモリを使い果たすのを防ぎます。

       公平性 active キューの場所が空いている時、キューマネージャは incoming
              キューdeferred キューから1メッセージずつ持ってきます。これ は
              配送されずに残っているメールが新しいメールの配送を妨げることを防
              ぎます。

       スロースタート
              この方法は同じ目的地への並列配送数をゆっくり調整することで、「大
              群(thundering herd)」問題をなくします。

       ラウンドロビン
              キューマネージャは配送先で要求をソートします。ラウンドロビン選択
              により、一つの送信先への配送が他の送信先を支配することがないよう
              にします。

       指数関数的遅延
              最初の試行で配送できなかったメールは遅延されます。配送試行の時間
              間隔はそれぞれの試行ごとに倍になります。

       配送先状態キャッシュ
              キューマネージャは配送できない送信先を短期間のメモリ内リストに保
              持することで、不必要な配送試行を避けます。

       プリエンプティブなメッセージスケジューリング
              キューマネージャは、洗練されたプリエンプティブなメッセージスケジ
              ューリングによってメッセージごとの正確な遅延を保存しつつ、受信者
              ごとの平均の遅延を最小にしようとします。

トリガー
       ア イドル状態のシステムでは、キューマネージャはイベントのトリガーの到着
       を待つか、タイマーで落ちるのを待ちます。トリガーは1バイトのメッセージで
       す 。メッセージの到着に依存して、キューマネージャは次のうち一つの行動を
       起こします(メッセージの後にソフトウェアの内部で使われるシンボル的な定数
       が続きます):

       D (QMGR_REQ_SCAN_DEFERRED)
              deferred キューのスキャンをはじめます。すでに deferred キュー の
              スキャンが行なわれている最中であれば、それが終わり次第再びはじめ
              ます。

       I (QMGR_REQ_SCAN_INCOMING)
              incoming  キューのスキャンをはじめます。すでにスキャンが行なわれ
              ている最中であれば、それが終わり次第再びはじめます。

       A (QMGR_REQ_SCAN_ALL)
              deferred キューファイルのタイムスタンプを無視します。要求は次 の
              deferred キュースキャン時に有効です。

       F (QMGR_REQ_FLUSH_DEAD)
              動いていない配送方法や配送先に関する全ての情報を消します。

       W (TRIGGER_REQ_WAKEUP)
              目覚し。これはマスターサーバがサーバ群にいなくならないように説得
              するために使います。この動作は incoming キューのスキャンをはじめ
              ます。

       qmgr(8)デーモンはトリガーのバッファ全体を読みます。複数の別々のトリガー
       要求は一つにまとめられ、AFDI より先になるようにソートされま
       す。従って、deferred キューを動かすには A F D を要求し、 キュー マ ネー
       ジャに新しいメールの到着を知らせるには I を指定します。

標準
       RFC 3463 (拡張状態コード)
       RFC 3464 (配送状態通知)

セキュリティ
       qmgr(8) デーモンはセキュリティに注意を払う必要がありません。 1文字 メッ
       セー ジ を 信 頼 しないローカルユーザから読みこむため、サービス拒否攻撃
       (Denial of Service attacks) には弱くなっています。 qmgr(8)デーモンは 外
       の世界とは話をしませんし、chroot された環境で低い特権に固定して動かすこ
       とができます。

診断
       問 題や処理は syslog デーモンに記録されます。不正なメッセージファイルは
       詳細な調査のために corrupt キューにセーブされます。

       notify_classes パラメータの設定によっては、ポストマスターにバウンスやそ
       の他のトラブルが通知されます。

バグ
       単独のキューマネージャプロセスは cleanup(8) のような複数のフロントエ ン
       ド プロセスとディスクアクセスの競合をします。突然たくさんのメールが入っ
       てくると、外への配送速度にネガティブな影響を及ぼすことがあります。

設定パラメータ
       qmgr(8)  の処理は永続するものであるため、main.cf への変更は自動的には取
       得されません。設定の変更後は "postfix reload" コマンドを使って く だ さ
       い。

       以 下 の 文 章 はパラメータの概要のみを提供します。例を含む詳細は post-
       conf(5) を参照してください。

       以下の文章で、transportmaster.cf ファイルの最初のエントリです。

互換性の制御
       allow_min_user (no)
              最初の文字に `-' を持つ受信者アドレスを許します。

ACTIVE キューの制御
       qmgr_clog_warn_time (300s)
              特定の配送先が Postfix active キューを詰まらせているという警告の
              最小遅延間隔。

       qmgr_message_active_limit (20000)
              active キューのメッセージの最大数。

       qmgr_message_recipient_limit (20000)
              Postfix キューマネージャがメモリ内に保持する受信者の最大数、およ
              び短期間・メモリ内の "動いていない" 配送先の状態キャッシュサイズ
              の最大サイズ。

       qmgr_message_recipient_minimum (10)
              あらゆるメッセージに対するメモリ内受信者の最小値。

       default_recipient_limit (10000)
              メモリ内受信者数の transport ごとのデフォルトの上限。

       transport_recipient_limit ($default_recipient_limit)
              指定された transport を使った配送に対して、上記と同じ。

       default_extra_recipient_limit (1000)
              transport ごとの予備のメモリ内受信者数に課せられる制限のデフォル
              ト値。

       transport_extra_recipient_limit ($default_extra_recipient_limit)
              指定されたメッセージtransportを使った配送に対して、上記と同じ。

配送並列度の制御
       initial_destination_concurrency (5)
              同じ配送先に並列で配送する際の、配送先ごとの並列度の初期値。

       default_destination_concurrency_limit (20)
              同じ配送先への並列配送の、デフォルトの最大数。

       transport_destination_concurrency_limit   ($default_destination_concur-
       rency_limit)
              指定されたメッセージ transport 配送に対して、上記と同じ。

受信スケジューリングの制御
       default_destination_recipient_limit (50)
              メッセージ配送ごとの受信者数の、デフォルトの最大数。

       transport_destination_recipient_limit     ($default_destination_recipi-
       ent_limit)
              指定されたメッセージtransportを使った配送に対して、上記と同じ。

メッセージスケジューリングの制御
       default_delivery_slot_cost (5)
              Postfix キューマネージャのスケジューラがあるメッセージを他のメッ
              セージの配送に割り込みを許す頻度。

       transport_delivery_slot_cost ($default_delivery_slot_cost)
              指定されたメッセージtransportを使った配送に対して、上記と同じ。

       default_minimum_delivery_slots (3)
              Postfix キューマネージャのスケジューリングアルゴリズムを呼び出さ
              なければならなくなる、1メッセージの受信者の数。

       transport_minimum_delivery_slots ($default_minimum_delivery_slots)
              指定されたメッセージtransportを使った配送に対して、上記と同じ。

       default_delivery_slot_discount (50)
              transport に特有の _delivery_slot_discount 設定のデフォルト値。

       transport_delivery_slot_discount ($default_delivery_slot_discount)
              指定されたメッセージtransportを使った配送に対して、上記と同じ。

       default_delivery_slot_loan (3)
              transport に特有の _delivery_slot_loan 設定のデフォルト値。

       transport_delivery_slot_loan ($default_delivery_slot_loan)
              指定されたメッセージ transport 配送に対して、上記と同じ。

その他のリソースおよび速度の制御
       minimal_backoff_time (1000s)
              遅延メッセージの配送を試行する最小の時間間隔。

       maximal_backoff_time (4000s)
              遅延メッセージの配送を試行する最大の時間間隔。

       maximal_queue_lifetime (5d)
              配送できないものとして送り返すまでに、メッセージがキューに入って
              いる最大の時間。

       queue_run_delay (1000s)
              deferred キューがキューマネージャによってスキャンされる 時 間 間
              隔。

       transport_retry_time (60s)
              Postfix  キューマネージャが異常なメッセージ配送 transport に接触
              しようとする時間間隔。

       Postfix バージョン 2.1 以降で使えます:

       bounce_queue_lifetime (5d)
              配送できないと見なすまでに、バウンスメッセージがキューに入ってい
              る最大の時間。

その他の制御
       config_directory ('postconf -d' の出力を参照)
              Postfix  main.cf および master.cf 設定ファイルのデフォルト の 場
              所。

       daemon_timeout (18000s)
              ビルトイン監視タイマーによって終了するまでの、Postfix デーモンプ
              ロセスが要求を扱うことができる時間。

       defer_transports (empty)
              誰かが "sendmail -q" または等価なものを実行しなければメールを 配
              送すべきではないメッセージ配送 transport の名前。

       delay_logging_resolution_limit (2)
              ロ グ に小数点以下の遅延の値を記録する際の、小数点以下の最大の桁
              数。

       helpful_warnings (yes)
              問題のある設定をログで警告し、参考になる忠告を提供します。

       ipc_timeout (3600s)
              内部通信チャネルを使った情報の送受信の時間制限。

       process_id (read-only)
              Postfix コマンドまたはデーモンプロセスのプロセス ID。

       process_name (read-only)
              Postfix コマンドまたはデーモンプロセスのプロセス名。

       queue_directory ('postconf -d' の出力を参照)
              Postfix トップレベルキューディレクトリの場所。

       syslog_facility (mail)
              Postfix ロギングの syslog facility 名。

       syslog_name (postfix)
              例えば "smtpd" が "postfix/smtpd" となるようにするために  syslog
              レコードのプロセス名の前に付けられるメールシステムの名前。

ファイル
       /var/spool/postfix/incoming, incoming キュー
       /var/spool/postfix/active, active キュー
       /var/spool/postfix/deferred, deferred キュー
       /var/spool/postfix/bounce, 非配送状態
       /var/spool/postfix/defer, 非配送状態
       /var/spool/postfix/trace, 配送状態

関連項目
       trivial-rewrite(8), アドレスルーティング
       bounce(8), 配送状態レポート
       postconf(5), 設定パラメータ
       master(5), 一般的なデーモンオプション
       master(8), プロセスマネージャ
       syslogd(8), システムロギング

README ファイル
       SCHEDULER_README, スケジューリングアルゴリズム
       QSHAPE_README, Postfix キューの解析

ライセンス
       The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い
       けません。

作者
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

       スケジューラの拡張:
       Patrik Rak
       Modra 6
       155 00, Prague, Czech Republic



                                                                       QMGR(8)