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_delimiter による書 き 換 え に 従 い ま す。 ${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" エ ンベロープヘッダをヘッダの前に付加 し、その前に送信者のエンベロープアドレスを 持っ た Deliv- ered-To: ヘッダをオプションで付加し、その前に送信者のエン ベロープアドレスを持った Return-Path: ヘッダを付加し、さら に> 文字を"From " で始まる行の前につけて、空行を加えます。 配送が行なわれている間は、メールボックスは排他的にアクセス ロックされます。問題があると、メールボックスを元の長さに戻 そうと試みます。 maildir 配送の場合は、local デーモンは受信者エンベロープア ド レスを持ったオプションの Delivered-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 受信者アドレスのドメイン部。 LOGNAME 裸の(bare)受信者名。 LOCAL 受信者アドレスのローカル部分全体(@ の左側)。 RECIPIENT 受信者アドレス全体。 PATH 環境変数は常にシステムに依存するデフォルトのパスに リ セットされ、TZ (タイムゾーン) 環境変数は常に変更なしに渡さ れます。 カレントのワークディレクトリはメールキューディレクト リ で す。 local デーモンは"From sender time_stamp" エンベロープヘッ ダを各メッセージの前に付け、さらに受信者のエンベロープアド レ スを持った Delivered-To: ヘッダをオプションで付け、その 前に送信者のエンベロープアドレスを持った Return-Path: を付 け、空行を加えません。 外部ファイルへの配送 配 送 フォーマットは配送先ファイル名の文法に依存します。デ フォルトでは UNIX 形式のメールボックスフォーマットを使いま す。 qmail 互換の maildir 配送をするには、/ で終わる名前を 指定します。 allow_mail_to_files 設定パラメータは外部ファイルへの配送を 制限します。 デ フォ ル ト の 設 定 (alias, forward) で は:include: ファイル内でファイルへ配送することを禁じていま す。 UNIX 形 式 の メールボックス配送の場合、local デーモンは "From sender time_stamp" エンベロープヘッダをヘッダの前 に 付 加 し、 そ の 前に 送信者のエンベロープアドレスを持った Delivered-To: ヘッダをオプションで付加し、さらに > 文字 を "From " で始まる行の前につけて、空行を加えます。送信者のエ ンベロープアドレスは Return-Path: ヘッダから得られます。配 送先が通常のファイルであれば、配送中は排他的にアクセスする ためにロックします。問題があれば、メールボックスを元の長さ に戻そうと試みます。 maildir 配送の場合は、local デーモンは受信者エンベロープア ド レスを持った Delivered-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- または companion- エイリアスを持つエイリアス に 配 送 する際には、エンベロープの送信者アドレスを 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 を上書 きします。 home_mailbox メールボックスのユーザのホームディレクトリからの 相 対パス名。maildir 形式の配送は / で終わるパス名を指 定します。 luser_relay 存在しないユーザの配送先 (@domain または address)。 address は $name の展開に従います。 mail_spool_directory UNIX 形式のメールボックスのディレクトリ。デフォルト パス名はシステムに依存します。Maildir 形式の配送を するには、/ で終わるパスを指定します。 mailbox_command メールボックス配送に使う外部コマンド。コマンドは 受 信 者 の 権 限 (例外: root) で実行します。文字列は $name の展開に従います。 mailbox_command_maps メールボックス配送に使う受信者ごとの外部コマンド の 検 索 テーブル。振る舞いは mailbox_command と同じで す。 mailbox_transport UNIX パスワードデータベースに見つかる、見つからない に 関わらず、全てのローカル受信者へのメールボックス 配送に使うメッセージ配 送。 こ の パ ラ メ ー タ は luser_relay を含むメールボックス配送を制御する他の 全ての設定パラメータを上書きします。 ロック制御 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