QMGR(8)                                                                QMGR(8)



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

書式
       qmgr [generic Postfix daemon options]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

標準
       なし。qmgr デーモンは外界と接触しません。

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

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

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

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

設定パラメータ
       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)
              遅延されたキューがキューマネージャによってスキャンされる時間間隔
              。

       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 の名前。

       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(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)