LOCAL(8) LOCAL(8) 名前 local - Postfix ローカルメール配送 書式 local [generic Postfix daemon options] 解説 local デーモンプロセスは Postfix キューマネージャからロー カル受信者へのメール配送要求を処理します。それぞれの配送要 求はキューファイル、送信者アドレス、配送先のドメインまたは ホスト、そして 1つもしくはそれ以上の受信者を指定します。こ の プログラムは master(8) プロセスマネージャから起動される ことを想定しています。 local デーモンはキューファイルを更新し、受取人を終ったもの としてマークするか、キューマネージャに後で再び試行すべきで あることを知らせます。配送問題のレポートは bounce(8) ま た は defer(8) デーモンの適切な方に送られます。 システム全体およびユーザレベルのエイリアス シ ス テ ム管理者は1つもしくはそれ以上のシステム全体に渡る sendmail スタイルのエイリアスデータベースを構成すること が できます。ユーザは sendmail スタイルの ~/.forward ファイル を持つことができます。name 宛のメールはエ イ リ ア ス 名、 ~name/.forward の中の配送先、ユーザ name が所有するメール ボックスに配送されるか、届かないものとして送り返されます。 シ ス テ ム 管 理 者は forward_path 設定パラメータを使って ~/.forward のようなファイルのリストをカンマ/空白で区切って 指定することができます。配送時には、ローカル配送エージェン トはファイルが見つかるまでリスト中のそれぞれのパス名を試行 し ま す。 forward_path パラメータは $user (受信者名)、 $home (受信者のホームディレクトリ)、$shell (受信者 の シェ ル)、$recipient (完全な受信者アドレス)、$extension (受信者 アドレスの拡張部)、$domain (受信者のドメイン)、 local ( 受 信 者アドレスのローカル部分全体)、そして $recipient_delim- iter による書き換えに従いま す。 ${name?value} お よ び ${name:value} の形式は $name が定義されている(いない)とき に value に展開されます。シェルやファイルシステムで特別 な 意味を持ち得る文字はアンダースコアで置き換えられます。使え る文字のリストは forward_expansion_filter 設定パラメータで 指定します。 エイリアスまたは ~/.forward ファイルは外部コマンドとの連携 や目的のファイル名、:include: 命令のリストを含むことができ ます。正確な記述は aliases(5) を参照してください。ユーザの .forward のそれぞれの行はエイリアスの右側部分と同じ文法 を 持ちます。 あるアドレスがエイリアスを展開した中に見つかった場合、配送 はそれに代わってユーザに対してなされます。ユーザが自分自身 の ~/.forward ファイルにリストされているときは、配送は代わ りにユーザのメールボックスになされます。 空 の ~/.forward ファイルは転送しないことを意味します。 メールシステムが法外な量のメモリを使用するのを防ぐために、 :include: または ~/.forward ファイルから読まれた入力レコー ドは line_length_limit の長さで切られます。 エイリアスや ~/.forward ファイルなどの展開中、プログラムは 配送が重複するのを避けようとします。duplicate_filter_limit 設定パラメータは記憶する受信者の数を制限します。 メール転送 信頼性のため、転送されたメールは新しいメッセージとして再び 送信され、その結果それぞれの受信者は別々の配送状態レコード がファイルに記録されます。 早期にメール転送ループを止めるために、ソフトウェアはエンベ ロープの受信者アドレスを持つ Delivered-To: ヘッダ を オ プ ションで付 け加えます。すでに Delivered-To: ヘッダに載って いる受信者へのメールが届くと、メッセージはバウンスさ れ ま す。 メールボックスへの配送 デフォルトのユーザごとのメールボックスは UNIX メールスプー ルディレクト リ 内 の ファ イ ル(/var/mail/user ま た は /var/spool/mail/user) です; 場所は mail_spool_directory 設 定パラメータで指定できます。qmail 互換の maildir 配送を す るには、/ で終わる名前を指定します。 または、ユーザごとのメールボックスは home_mailbox 設定パラ メータで指定された名前のユーザのホームディレクトリ内のファ イ ル にすることもできます。相対パス名を指定します。 qmail 互換の maildir 配送をするには、/ で終わる名前を指 定 し ま す。 メ ールボックスへの配送は mailbox_command 設定パラメータで 指定される外部コマンドに委託することができます。コマンドは 受 信者ユーザの権限で実行します(例外: ルートとして配送する 場合は default_privs の権限で実行します)。 Mailbox 配送は master.cf ファイルで指定されるメッセージ 配 送の代表的な代替方法でしょう。mailbox_transport 設定パラメ ータは UNIX のパスワードデータベースに名前が見つかるかどう かに関わらず、全てのローカルの受信者に対して使われるメッセ ージ配送を指定します。 fallback_transport パラメータはUNIX パスワードデータベースで見つからない受信者宛のメール配送を 指定します。 UNIX 形式のメールボックス配送では、local デーモンは "From sender time_stamp" エンベロープヘッダ、Postfix に与えられ た受信者アドレスを持つ X-Original-To: ヘッダ、エンベロープ 送 信者アドレスを持つオプションの Delivered-To: ヘッダ、お よび送信者のエンベロープアドレスを持つ Return-Path: ヘッダ を それぞれのメッセージの前に付加し、さらに > 文字を "From " で始まる行の前につけて、空行を加えます。配送が行なわれて いる間は、メールボックスは排他的にアクセスロックされます。 問題があると、メールボックスを元の長さに戻そうと試みます。 maildir 配送の場合は、local デーモンは最終的なエンベロープ 受信者アドレスを持つオプションの Delivered-To: ヘッ ダ、 Postfix に与えられた受信者アドレスを持つ X-Original-To:、 そしてエンベロープ受信者アドレスを持つ Return-Path: ヘッダ を前に付加します。 外部コマンドへの配送 allow_mail_to_commands 設定パラメータは外部コマンドへの配 送を制限します。デフォルトの設 定(alias, forward) で は :include: ファイル内でコマンドへ配送することを禁じていま す。 コマンドはできる限り直接実行します。シェル(UNIX システムで は /bin/sh) による補助はコマンドがシェルのメタ文字 (magic characters)を含んでいる場合、もしくはコマンドがシェルビ ル トインコマンドを呼び出す場合にのみ使われます。 不 達状態レポートに含むために取り込まれるコマンド出力(標準 出力およびエラー出力)の量は制限されます。コマンド は com- mand_time_limit 秒以内に終了しない場合、強制的に終了しま す。コマンド終了コードは <sysexits.h> で定義された慣習に従 うことが望まれます。 環境変数でエクスポートされるメッセージの量は制限されます。 シェルで特別な意味を持ち得る文字はアンダースコアで置き換え られます。使える文字は command_expansion_filter 設定パラメ ータで指定します。 SHELL 受信ユーザのログインシェル。 HOME 受信ユーザのホームディレクトリ。 USER 裸の(bare)受信者名。 EXTENSION オプションの受信者アドレスの拡張部。 DOMAIN 受信者アドレスのドメイン部。 LOG名前 裸の(bare)受信者名。 LOCAL 受信者アドレスのローカル部分全体(@ の左側)。 RECIPIENT 受信者アドレス全体。 SENDER 送信者アドレス全体。 PATH 環境変数は常にシステムに依存するデフォルトのパスに リ セットされ、さらに export_environment 設定パラメータによっ て承認された名前の環境変数は変更されずにエクスポートされま す。 カ レ ントのワークディレクトリはメールキューディレクトリで す。 local デーモンは "From sender time_stamp" エンベロープヘッ ダ、Postfix に与えられた受信者アドレスを持つ X-Original- To: ヘッダ、および受信者のエンベロープアドレスを持つ オ プ ショ ンの Delivered-To: ヘッダをそれぞれのメッセージの前に 付け、さらに送信者のエンベロープアドレスを持っ た Return- Path: を付けますが、空行は加えません。 外部ファイルへの配送 配 送 フォーマットは配送先ファイル名の文法に依存します。デ フォルトでは UNIX 形式のメールボックスフォーマットを使いま す。 qmail 互換の maildir 配送をするには、/ で終わる名前を 指定します。 allow_mail_to_files 設定パラメータは外部ファイルへの配送を 制 限 し ま す。 デ フォ ル トの設定 (alias, forward) では :include: ファイル内でファイルへ配送することを禁じて い ま す。 UNIX 形式のメールボックス配送では、local デーモンは "From sender time_stamp" エンベロープヘッダ、Postfix に与えら れ た受信者アドレスを持つ X-Original-To: ヘッダ、エンベロープ 送信者アドレスを持つオプションの Delivered-To: ヘッダを そ れぞれのメッセージの前に付加し、さらに > 文字を "From " で 始まる行の前につけて、空行を加えます。送信者のエンベロープ アドレスは Return-Path: ヘッダから得られます。配送先が通常 のファイルであれば、配送中は排他的にアクセスするためにロッ クします。問題があれば、メールボックスを元の長さに戻そうと 試みます。 maildir 配送の場合は、local デーモンは エンベロープ受信 者 ア ド レ ス を 持つオプションの Delivered-To: ヘッダおよび Postfix に与えられた受信者アドレスを 持 つ X-Original-To: ヘッ ダ を 前 に付加します。送信者のエンベロープアドレスは Return-Path: ヘッダから得られます。 アドレス拡張 オプションの recipient_delimiter 設定パラメータは拡張ア ド レス部をローカル受信者名から分離する方法を指定します。 例えば、"recipient_delimiter = +" とすると、 name+foo 宛の メールはエイリアスの name+foo ま た は エ イ リ ア ス の name、~name/.forward+foo または ~name/.forward にリストさ れた配送先、ユーザ name が所有するメールボックスに配送する か、配送できないとして送り返されます。 い ず れの場合も local デーモンは `Delivered-To: name+foo' ヘッダ行をオプションで前に付加します。 配送の権限 外部のファイルや外部コマンドへの配送は、配送がなされたもの を受けとったユーザの権限で実行されます。ユーザがいない場合 には、 local デーモンは :include: ファイルやエイリアスデー タベースの所有者の権限を使います。これらのファイルがスーパ ーユーザの所有であるときは、配送は default_privs 設定パ ラ メータで指定された権限でおこなわれます。 標準 RFC 822 (ARPA インターネットテキストメッセージ) 診断 問 題 や処理は syslogd(8) に記録されます。不正なメッセージ ファイルはキューマネージャが後で corrupt キューに移動さ せ られるようにマークされます。 notify_classes パラメータの設定によっては、ポストマスター にバウンスやその他問題が通知されます。 バグ セキュリティ上の理由から、外部コマンドや外部ファイルのメッ セージ配送状態はファイルにチェックしません。結果として、た まにプログラムは複数回コマンドや外部ファイルに配送するかも しれません。残念なことよりも安全を求めます。 相互再帰的なエイリアスや ~/.forward ファイルは早期に発見す ることができません。生じたメール転送ループは Delivered-To: メッセージヘッダを使うことで止めます。 設定パラメータ 以 下の main.cf パラメータは特にこのプログラムに関連があり ます。文法の詳細やデフォルト値は Postfix main.cf ファイ ル を参照してください。設定の変更後は postfix reload コマンド を使ってください。 その他 alias_maps エイリアスデータベースのリスト。 biff comsat ネットワークサービスを通した新着メールの通知 を使用可能もしくは使用不能にします。 expand_owner_alias 対 応する owner- エイリアスを持つエイリアスに配送す る際には、エンベロープの送信者アドレスを owner エイ リアスの左側部分ではなく右側部分とします。 export_environment 非 Postfix プロセスに渡される環境変数のリスト。 forward_path .forward ファイルの検索リスト。名前は $name 展開に 従います。 local_command_shell 外部コマンド の 実 行 に 利 用 す る シェ ル( 例 え ば/some/where/smrsh -c)。シェルが指定されると、コマ ンドにシェルビルトインコマンドやメタ文字が含まれ て いなくても呼び出されます。 owner_request_special owner-xxx と xxx-request アドレスを特別扱いします。 prepend_delivered_header 転送やコマンドおよびファイルへの配 送 時 に、Deliv- ered-To: ヘッダをオプションで付加します。次のうちゼ ロ個またはそれ以上を指定 し ま す: command, file, forward。 転送メールが推奨されない場合に Delivered- To: をオフにします。 recipient_delimiter 拡張アドレスから受信者を区切るデリミタ。 require_home_directory 配送の試行前に受信者のホームディレクトリが受信者 に よ りアクセス可能であることを必要とします。そうでな ければ配送は遅延されます。 メールボックス配送 fallback_transport UNIX パスワードデータベースに見つからない受信者宛の メッセージ配送。このパラメータは luser_relay を上書 きします。 注意: main.cf ファイルの local_recipient_maps を 更 新 しなければいけません。そうしないと、Postfix SMTP サーバは非 UNIX アカウント 宛 の メ ー ル を "User unknown in local recipient table" として拒否しま す。 home_mailbox メールボックスのユーザのホームディレクトリからの 相 対 パス名。 maildir 形式の配送は / で終わるパス名を 指定します。 luser_relay 存在しないユーザの配送先(@domain または address)。 address は $name の展開に従います。 注意: main.cf ファイルで local_recipient_maps = (す なわち空) を指定しなければいけません。そう し な い と、Postfix SMTP サーバは非 UNIX アカウント宛のメー ルを "User unknown in local recipient table" として 拒否します。 mail_spool_directory UNIX 形式のメールボックスのディレクトリ。デフォルト パス名はシステムに依存します。Maildir 形式の配送 を するには、/ で終わるパスを指定します。 mailbox_command メ ールボックス配送に使う外部コマンド。コマンドは受 信者の権限(例外: root)で実行します。文字列は $name の展開に従います。 mailbox_command_maps メ ールボックス配送に使う受信者ごとの外部コマンドの 検索テーブル。振る舞いは mailbox_command と同 じ で す。 mailbox_transport UNIX パスワードデータベースに見つかる、見つからない に関わらず、全てのローカル受信者へのメールボック ス 配 送 に 使 う メッ セ ー ジ 配送。このパラメータは luser_relay を含むメールボックス配送を制御する他 の 全ての設定パラメータを上書きします。 注 意: 非 UNIX アカウント宛のメールを受け取るために この機能を使うのであ れ ば、main.cf ファ イ ル の local_recipient_maps 設定を更新しなければいけませ ん。そうしないと、Postfix SMTP サーバは非 UNIX アカ ウント宛のメールを "User unknown in local recipient table" として拒否します。 ロック制御 deliver_lock_attempts メールボックスや外部ファイルの排他ロックを獲得し よ うと試みる回数を制限します。 deliver_lock_delay 連続して排他ロックを獲得しようと試みる間隔の秒数。 stale_lock_time 古いロックを外すまでの時間を制限します。 mailbox_delivery_lock UNIX 形式のメールボックスへの配送時に使われるファイ ルロックの方法。デフォルトの設定はシステムに依存 し ます。使用可能なロック方法のリストを得るには、post- conf -l コマンドを使います。 リソース制御 command_time_limit 外部コマンドへの配送の時間を制限します。 duplicate_filter_limit エイリアスやその他の展開結果を複製するフィルタの サ イズを制限します。 line_length_limit 部 分的な入力行を処理するのに使うメモリの量を制限し ます。 local_destination_concurrency_limit 同じユーザに対する並列配送数を制限します。デフォ ル トの制限は default_destination_concurrency_limit パ ラメータから得ます。 local_destination_recipient_limit メッセージ配送あたりの受信者数を制限します。デ フォ ルトの制限は default_destination_recipient_limit パ ラメータから得ます。 mailbox_size_limit メールボックスなど(配送時に書かれるあらゆる ファ イ ル)のサイズを制限します。ゼロをセットすると制限をな くします。 セキュリティ制御 allow_mail_to_commands 外部コマンドへのメール配送の利用を制限します。次 の うちゼロ個以上を指定します: alias, forward, include allow_mail_to_files 外部ファイルへのメール配送の利用を制限します。次 の うちゼロ個以上を指定します: alias, forward, include command_expansion_filter メールボックスコマンドの $name の展開に現れてもよい 文 字。 不 正な文字はアンダースコアで置き換えられま す。 default_privs 外部ファイルやコマンドへの配送時のデフォル ト の 権 限。 forward_expansion_filter forward_path の $name 展開時に現れてもよい文字。不 正な文字はアンダースコアで置き換えられます。 歴史 Delivered-To: ヘッダは Daniel Bernstein による qmail シ ス テムで登場しました。 maildir 構造は Daniel Bernstein による qmail システムで登 場しました。 関連項目 aliases(5) エイリアスデータベースの書式 bounce(8) 不達状態レポート postalias(1) エイリアスデータベースの作成・更新 syslogd(8) システムロギング qmgr(8) キューマネージャ ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布さ れなければいけません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA LOCAL(8)