PIPE(8)                                                   PIPE(8)


名前
       pipe - Postfix 外部コマンドへの配送

書式
       pipe [generic Postfix daemon options] command_attributes...

解説
       pipe デーモンは Postfix キューマネージャから外部コマンドへ
       のメッセージ配送要求を処理します。それぞれの配送要求はキュ
       ーファイル、送信者アドレス、配送先のドメインまたはホストと
       一つ以上の受信者を指定します。このプログラム は  master(8)
       プロセスマネージャから起動されることを想定しています。

       pipe  デーモンはキューファイルを更新し、受信者を終わったも
       のとしてマークするか、キューマネージャに後で再び試行するよ
       う に 通 知 し ます。配送問題のレポートは bounce(8) または
       defer(8) デーモンの適切な方に送られます。

コマンド属性の文法
       外部コマンドの属性は master.cf ファイルのサービスの定義 の
       最後で与えられます。文法は次のとおりです:

       flags=FR.> (オプション)
              オ プ ショ ンのメッセージ処理フラグ。デフォルトでは
              メッセージは変更せずにコピーされる。

              F      "From sender time_stamp" エンベロープヘッ ダ
                     をメッセージ本体の前に付加する。これは、例え
                     ば UUCP ソフトウェアなどにより求められる。 F
                     フラグによりメッセージに空行も付加される。

              R      Return-Path:  メッセージヘッダをエンベロープ
                     送信者アドレスに付加する。

              .      "." で始まる行の前に. を付けます。これは、例
                     えば、BSMTP ソフトウェアで必要です。

              >      > を"From " で始まる行の前に付加する。これは
                     例えば UUCP ソフトウェアなどにより求め ら れ
                     る。

       user=username (必須)

       user=username:groupname
              外 部コマンドは username で指定された権限で実行され
              ます。ソフトウェアは root 権限またはメールシステ ム
              所 有者権限の外部コマンドを拒否します。groupname が
              指定されると、対応するグループ ID が username の グ
              ループ ID のかわりに使われます。

       argv=command... (必須)
              実 行されるコマンド。これは最後のコマンド属性として
              指定されなければいけません。コマンドは直接実行さ れ
              ま す。つまり、シェルのメタ文字はシェルコマンドの解
              釈を受けません。

              コマンド引数ベクトル (?; vector) では、次のマクロが
              認 識されて、Postfix キューマネージャ配送要求から得
              た対応する情報に置き換えられます。

              ${extension}
                     このマクロは受信者アドレスの拡張部分に展開さ
                     れ ます。たとえば user+foo@domain というアド
                     レスであれば、拡張部分は foo です。 ${exten-
                     sion} を含むコマンドライン引数は、コマンドラ
                     イン引数と同じ数の受信者に展開されます (?)。

              ${mailbox}
                     このマクロは受信者アドレスのローカル部分全体
                     に展開されます。たとえば user+foo@domain  な
                     らば mailbox は user+foo です。${mailbox} を
                     含むコマンドライン引数はコマンドライン引数と
                     同じ数の受信者に展開されます。

              ${nexthop}
                     このマクロは次に飛ぶホスト名に展開されます。

              ${recipient}
                     このマクロは受信者アドレス全体に展開さ れ ま
                     す。 ${recipient} を含むコマンドライン引数は
                     コマンドライン引数と同じ数の受信者に展開され
                     ます。

              ${sender}
                     このマクロはエンベロープの送信者アドレスに展
                     開されます。

              ${user}
                     このマクロは受信者アドレスのユーザ名部分に展
                     開  さ  れ ま す。 た と え ば、 ア ド レ ス
                     user+foo@domain のユーザ名部分は user です。
                     ${user} を含むコマンドライン引数はコマンドラ
                     イン引数と同じ数の受信者に展開されます。

       さらに ${name}、$name、$(name) のどの形式も認識されます。$
       だけが必要な場合は、$$ を指定します。

診断
       コマンド終了状態コードは <sysexits.h> の定義の慣例に従うこ
       とが期待されます。

       問題や処理は syslogd(8) に記録されます。不正なメッセ ー ジ
       ファイルはキューマネージャが詳細な検査をするために corrupt
       キューに移動できるようにマークされます。

セキュリティ
       このプログラムは 2 つの性格を必要とします。1) プライベート
       Postfix キューや IPC メカニズムへのアクセス と 2) 特定ユー
       ザとしての外部コマンドの実行。それゆえ、セキュリティには敏
       感です。

設定パラメータ
       以 下の main.cf パラメータは特にこのプログラムに関連があり
       ます。文法の詳細やデフォルト値は Postfix main.cf ファイ ル
       を参照して下さい。設定の変更後は postfix reload コマンドを
       使ってください。

その他
       mail_owner
              外部コマンドが動いていない時に使われるプロセスの 権
              限。

リソース制御
       下 の文章で、transportmaster.cf エントリの最初のフィー
       ルドです。

       transport_destination_concurrency_limit
              transport という名前の配送で同じ目的地に並列に配 送
              す る 数の制限。デフォルトの制限は default_destina-
              tion_concurrency_limit パラメータから得ます。制限は
              Postfix キューマネージャによって強制されます。

       transport_destination_recipient_limit
              transport  という名前の配送で (一つの) メッセージ配
              送ごとの受信者数の制 限。 デ フォ ル ト の 制 限 は
              default_destination_recipient_limit  パラメータから
              得ます。制限は Postfix キューマネージャによって強制
              されます。

       transport_time_limit
              transport  という名前の配送で外部コマンドへの配送の
              時間制限。デフォルトの制限は command_time_limit  パ
              ラメータから得ます。制限は Postfix キューマネージャ
              によって強制されます。

関連項目
       bounce(8) 配達不能状態レポート
       master(8) プロセスマネージャ
       qmgr(8) キューマネージャ
       syslogd(8) システムロギング

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

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