Postfix設定パラメータPostfix main.cf 設定ファイルには、Postfixメールシステムの動作を制御する全てのパラメータのうち、小さなサブセットを指定します。main.cf で指定されていないパラメータは、そのデフォルト値のまま残されます。
main.cf ファイルの一般的な書式は以下の通りです:
それぞれの論理行は "parameter = value" の形式を取ります。"=" の前後の空白は無視されます。また論理行の最後の空白も同様です。
空行と空白だけの行は無視されます。また、最初の非空白文字が `#' の行も同様です。
論理行は空白以外のテキストで始まります。空白で始まる行は論理行を継続します。
パラメータの値は他のパラメータを参照することができます。
"$name" や "${name}"、"$(name)" という表記は指定されたパラメータの値で再帰的に置き換えられます。
"${name?value}" という表記は、"$name" が空でない場合に "value" に展開されます。この形式はPostfix 2.2以降でサポートされています。
"${name:value}" という表記は、"$name" が空の場合に "value" に展開されます。この形式はPostfix 2.2以降でサポートされています。
同じパラメータが複数回定義されていると、最後のものだけが記憶されます。
それ以外は、main.cf パラメータの定義の順番は重要ではありません。
このドキュメントの残りの部分は、全てのPostfix設定パラメータの解説です。デフォルト値はパラメータ名の後のカッコ内に示され、 "postconf -d" コマンドで調べることもできます。
注意: これはPostfix設定パラメータの変更の勧めではありません。不必要な変更はメールシステムの動作を損なうおそれがあります。
送信者に返すことができない不達メールの受信者。この機能は notify_classes パラメータで有効になります。
クライアントが access(5) マップ制限により拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解しているのでなければ、これを変更してはいけません。
アドレス検証プローブに対する default_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する local_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
永続的なアドレス検証状態ストレージの、オプションの検索テーブル。このテーブルは verify(8) サービスによって管理され、プロセスが権限を解放する前に開かれます。
デフォルトでは、情報は揮発性メモリに保持され、"postfix reload" または "postfix stop" の後で失われます。
埋め尽くされることのないファイルシステムの場所を指定します。データベースが壊れると、世界が終わってしまいます。修復するにはファイルを削除し、"postfix reload" します。
例:
address_verify_map = hash:/etc/postfix/verify address_verify_map = btree:/etc/postfix/verify
この機能はPostfix 2.1以降で使えます。
失敗したアドレス検証プローブの結果のキャッシュを有効にします。この機能が有効になっていると、キャッシュはすぐにゴミで汚染される可能性があります。この機能が無効になっていると、Postfixは全ての検索にアドレスプローブを生成します。
この機能はPostfix 2.1以降で使えます。
失敗したプローブがアドレス検証キャッシュから消えるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
失敗したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
進行中のアドレス検証要求を完了するために verify(8) サービスに問い合わせる回数。
デフォルトのポーリング回数は 3 です。
1 を指定すると粗っぽい形で greylisting を実装します。すなわち、以前に見たことがないアドレスの最初の配送要求は常に遅延されます。
例:
address_verify_poll_count = 1
この機能はPostfix 2.1以降で使えます。
進行中のアドレス検証要求を完了するための、問い合わせの間に入れる遅延。
デフォルトのポーリング遅延は 3 秒です。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
成功したプローブがアドレス検証キャッシュから消えるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
成功したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。アドレス検証状態はプローブが失敗すると更新されません (楽観的キャッシング)。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する relay_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する relayhost パラメータ設定を上書きします。この情報は transport(5) テーブルで上書きできます。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブで使う送信者のアドレス。アドレスプローブに対してアドレスプローブを送ってしまう問題を回避するため、Postfix SMTP サーバは SMTPD access ブロックからプローブ送信者アドレスを除外します。
null送信者アドレスを使いたい場合は空値 (address_verify_sender =) または <> を指定してください。RFC が <> からのアドレスを受け付けるよう要求しているにもかかわらず、そのようなアドレスを拒否するサイトがあることに注意してください。
例:
address_verify_sender = <> address_verify_sender = postmaster@my.domain
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する sender_dependent_relayhost_maps パラメータ設定を上書きします。
この機能はPostfix 2.3以降で使えます。
verify(8) アドレス検証サービスの名前。このサービスは送信者や受信者のアドレス検証プローブの状態を管理し、他の Postfixプロセスによる要求でプローブを生成します。
アドレス検証プローブに対する transport_maps パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する virtual_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
"newaliases" や "sendmail -bi" で更新される、local(8) 配送のエイリアスデータベース。
$alias_maps 指定されるテーブル全てがローカルファイルである必要はないため、これは別の設定パラメータになっています。
例:
alias_database = hash:/etc/aliases alias_database = hash:/etc/mail/aliases
local(8) 配送で使われるエイリアスデータベース。文法の詳細は aliases(5) を参照してください。
デフォルトのリストはシステムに依存します。NIS を持つシステムでは、デフォルトではローカルのエイリアスデータベースを検索し、それから NIS エイリアスデータベースを検索します。
エイリアスデータベースを変更したら、"postalias /etc/aliases" (またはシステムがメールエイリアスファイルを保存している場所) を走らせるか、単に "newaliases" を走らせて必要な DBM または DB ファイルを作ってください。
alias_maps での $1 などの正規表現による置換はセキュリティホールを開けてしまう可能性があるため、local(8) 配送エージェントはこれを許しません。
local(8) 配送エージェントは alias_maps で proxymap(8) を使うという要求を静かに無視します。代わりにテーブルを直接オープンします。Postfixバージョン 2.2以前では、local(8) 配送エージェントは致命的エラーで終了してしまいます。
例:
alias_maps = hash:/etc/aliases, nis:mail.aliases alias_maps = hash:/etc/aliases
local(8) が外部コマンドへメールを配送するのを制限します。デフォルトでは :include: ファイルでの "|command" への配送を認めません (この用例を定義している文章は aliases(5) を参照してください)。
コマンドを許可するためには、次のうちゼロ個またはそれ以上を指定してください: alias、forward または include で、それぞれ aliases(5)、.forward ファイルまたは :include: ファイルでのコマンドを許可します。
例:
allow_mail_to_commands = alias,forward,include
local(8) が外部ファイルへメールを配送するのを制限します。デフォルトでは :include: ファイルで "/file/name" を配送先とするのを認めません (この用例を定義している文章は aliases(5) を参照してください)。
"/file/name" 配送先を許可するためには、次のうちゼロ個またはそれ以上を指定してください: alias、forward または include で、それぞれ aliases(5)、 .forward ファイルまたは :include: ファイルで "/file/name" 配送先を許可します。
例:
allow_mail_to_files = alias,forward,include
受信者アドレスが最初の文字として `-' を持つことを許可します。コマンドラインでEメールアドレスを渡すソフトウェアでの事故を避けるため、デフォルトではこれを認めません。そのようなソフトウェアは悪意のあるアドレスと正しいコマンドラインオプションを区別できないでしょう。これは "--" オプションターミネータをコマンドラインに入れることで防げますが、一貫して全体に強制するのは困難です。
"user%domain" の形から "user@domain" への書き換えを有効にします。これはデフォルトで有効になっています。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスの書き換えは以下のいずれかの条件に当てはまったときのみにおこなわれます:
Postfixバージョン2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
例:
allow_percent_hack = no
信頼していないクライアントから $relay_domains にマッチする配送先へ、送信者が指定したルーティング (user[@%!]remote[@%!]site) を持つメールを転送します。
デフォルトでは、この機能は無効になっています。これはバックアップMX ホストが騙されてジャンクメールをプライマリMXホストに転送してしまい、 spam が世界中に送られてしまうことになる、厄介なオープンリレーの抜け穴を塞ぎます。
このパラメータは送信者が指定したルーティングを持つ非ローカルアドレスが Postfix access テーブルにマッチできるかどうかも制御します。デフォルトでは、そのようなアドレスは曖昧であるためPostfix access テーブルにはマッチできません。
コマンドラインの "-c config_directory" で指定されたり MAIL_CONFIG 環境変数パラメータで指定される、非デフォルトなPostfix設定ディレクトリのリスト。
このリストはデフォルトのPostfix設定ディレクトリで指定されなければなりません。またこのリストは postqueue(1) や postdrop(1) のようなset-gid されたPostfix コマンドによって使われます。
Postfixメールシステムが受け取ったメッセージそれぞれの "blind carbon copy" を受け取る、オプションのアドレス。
注意: BCC アドレス宛のメールがバウンスすると、送信者に返されます。
注意: 自動BCC受信者は新しいメールに対してのみ生成されます。メーラループを避けるために、自動BCC受信者はPostfixが内部で転送するメールやPostfix自身が生成するメールに対しては生成されません。
クライアントの接続速度やその他の速度の計算に用いられる単位時間。
この機能は安定版Postfix 2.1 リリースには含まれない anvil(8) サービスによって実装されています。
デフォルトの間隔はかなり短いです。更新の頻度が高いため、anvil(8) サーバは揮発性メモリしか使いません。つまり、プロセスが終了すると情報は失われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
anvil(8) 接続および速度制限サーバが使用量のピーク情報をログに記録する頻度。
この機能はPostfix 2.2以降で使えます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
ローカルで投函されたメールで、ドメイン情報のないメールアドレスに文字列 "@$myorigin" を付け加えます。リモートで投函されたメールには、代わりに文字列 "@$remote_header_rewrite_domain" を付加します。
注意1: この機能はデフォルトで有効になっており、無効にしてはいけません。 Postfixはドメインのないアドレスをサポートしていません。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスの書き換えは以下のいずれかの条件に当てはまったときのみにおこなわれます:
Postfixバージョン2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
ローカルで投函されたメールで、".domain" 情報のないアドレスに文字列 ".$mydomain" を付け加えます。リモートで投函されたメールには、代わりに文字列 "@$remote_header_rewrite_domain" を付加します。
注意1: この機能はデフォルトで有効になっています。無効にするとユーザは "user@partialdomainname" にメールを送れなくなり、代わりにフルドメイン名を指定しなければならなくなります。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスの書き換えは以下のいずれかの条件に当てはまったときのみにおこなわれます:
Postfixバージョン2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
postkick(1) コマンドがサーバの入力バッファに入ってくる要求を諦めずに待つ時間の長さ。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
キューのフラッシュを認証されたユーザのリスト。
デフォルトでは、すべてのユーザがキューのフラッシュを許されています。呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、アクセスは常に許可されます。それ以外の場合、システムパスワードファイルでプロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば許可されます。パスワードファイルに実UIDが見つからないプロセスでは、ユーザ名 "unknown" が使われます。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと検索され、最初にマッチしたところで検索を止めます。リストから name を除外するには、 "!name" を指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
この機能はPostfix 2.2以降で使えます。
次の行を空白で始めることで、長い行を継続します。
デフォルトでは、すべてのユーザがキューを見ることが許されています。呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、アクセスは常に許可されます。それ以外の場合、システムパスワードファイルでプロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば許可されます。パスワードファイルに実UIDが見つからないプロセスでは、ユーザ名 "unknown" が使われます。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと検索され、最初にマッチしたところで検索を止めます。リストから name を除外するには、 "!name" を指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
この機能はPostfix 2.2以降で使えます。
sendmail(1) コマンド (および特権を持つ postdrop(1) ヘルパーコマンド) でメールを投函することが認証されたユーザのリスト。
デフォルトでは、すべてのユーザがメールの投函を許されています。それ以外の場合、システムパスワードファイルでプロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば許可されます。パスワードファイルに実UIDが見つからないプロセスでは、ユーザ名 "unknown" が使われます。全てのユーザに対してメール投函のアクセスを拒否するには、空のリストを指定します。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと検索され、最初にマッチしたところで検索を止めます。リストから name を除外するには、 "!name" を指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
例:
authorized_submit_users = !www, static:all
この機能はPostfix 2.2以降で使えます。
XVERP コマンドを指定できる SMTPクライアント。このコマンドは同時に1つの受信者に、受信者ごとのリターンアドレスを付けてメールを配送するように要求します。
デフォルトでは、信頼されたクライアントのみが XVERP を指定することが許されます。
このパラメータはPostfixバージョン 1.1 で導入されました。Postfixバージョン2.1では、このパラメータは smtpd_authorized_verp_clients に改名され、デフォルト値はなくなりました。
network/netmask パターンを空白やカンマで区切ったリストを指定します。mask にはホストアドレスのネットワーク部分のビット数を指定します。ホスト名や .domain 名 (最初にドットを付けると domain 以下のあらゆる名前にマッチするようになります)、"/file/name"、 "type:table" パターンを指定することもできます。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはテーブルのエントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
注意: IPバージョン6アドレス情報は authorized_verp_clients 値や "/file/name" で指定されたファイルの中で [] の内側に指定しなければいけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱してしまいます。
Postfixバージョン2.0以前でも読める、追加の bounce(8) ログファイルレコードを生成します。洗練された機能を実装するには、現状およびより拡張可能な "name = value" という書式が必要です。
この機能はPostfix 2.1以降で使えます。
Berkeley DB hash もしくは btree テーブルを作成するプログラムのための、テーブルごとの I/O バッファサイズ。バイト数を指定します。
この機能はPostfix 2.0以降で使えます。
Berkeley DB hash もしくは btree テーブルを読み込むプログラムのための、テーブルごとの I/O バッファサイズ。バイト数を指定します。
この機能はPostfix 2.0以降で使えます。
"mail loops back to myself" エラー条件を検出した場合にPostfix クライアントがメールを送るべき場所。これはローカル MTA が $mydestination や $inet_interfaces、 $proxy_interfaces、$virtual_alias_domains、$virtual_mailbox_domains にリストアップされていない配送先のSMTPメール交換機の場合に起こります。デフォルトでは、Postfix SMTPクライアントはそのようなメールを配送できないものとして返します。
例えば、Postfix SMTPクライアントからのメールを local(8) 配送エージェントに渡すには "best_mx_transport = local" を指定します。master.cf に定義されているメッセージ配送 "transport" または "transport:nexthop" を指定することもできます。"transport" や "transport:nexthop" の文法や意味は transport(5) マニュアルページを参照してください。
しかし、この機能は local(8) 配送エージェントが仕事をしている間Postfix SMTPクライアントプロセスを拘束してしまうため、負荷が高くなります。hosted domains を全てテーブルやデータベースにリストアップしておくのが (Postfixにとって) より効果的です。
ローカル biff サービスを使うかどうか。このサービスは UNIX コマンド "biff y" で新着メール通知を要求したユーザに "新着メール" 通知を送ります。
互換性の理由から、この機能はデフォルトで有効になっています。インタラクティブユーザの多いシステムでは、biffサービスがパフォーマンスの浪費になるかもしれません。 無効にするには main.cf に "biff = no" を指定します。
body_checks(5) マニュアルページに書かれているようなコンテンツ検査をおこなう、オプションの検索テーブル。
注意: バージョン 2.0 以前のPostfixでは、これらのルールは最初のメッセージヘッダの後のコンテンツ全てを検査します。
body_checks 検査を受けるメッセージ本体セグメント (もしくは添付、この単語の方がよければ) のテキストの量。テキストの量は巨大な添付ファイルのスキャンを避けるために制限されます。
この機能はPostfix 2.0以降で使えます。
Postfixが配送しなかったメールのヘッダ、およびPostfixが受け取らなかったメールの SMTP 対話の写しを持つ、ポストマスターへの通知の受信者。この機能は notify_classes パラメータで有効になります。
配送できないと見なすまでに、バウンスメッセージがキューに入っている最大の時間。デフォルトでは、通常のメールに対するキューの寿命と同じです。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は d (日) です。
メール配送の試行を1回だけにするには 0 を指定します。
この機能はPostfix 2.1以降で使えます。
bounce(8) サービスの名前。このサービスは失敗した配送試行の記録を管理し、不達通知を生成します。
この機能はPostfix 2.0以降で使えます。
不達通知で送られるオリジナルメッセージテキストの最大量。バイト数を指定します。この制限を増やしたら、それに比例して mime_nesting_limit の値も増やすべきです。
バウンスメッセージのテンプレートがある設定ファイルのパス名。これらは配送できないメールやメールの遅延、配送成功、配送検証に対する配送状態通知 (DSN; delivery status notification) メッセージのビルトインテンプレートを上書きします。bounce(5) マニュアルページにはテストテンプレートファイルの編集方法が書かれています。
テンプレートメッセージの本体テキストはPostfix設定パラメータを参照する $name を含めることができます。$name 展開の結果はファイルをPostfix設定ディレクトリに置く前に "postconf -b file_name" で確認できます。
この機能はPostfix 2.3以降で使えます。
古いバージョンの AUTH コマンド (RFC 2554) を実装したSMTPクライアントとの相互運用性を有効にします。このようなクライアントにはMicroSoft Outlook Expressバージョン4やMicroSoft Exchange バージョン5.0といった例があります。
標準的でない方法の AUTH サポートをPostfixに案内させるには、"broken_sasl_auth_clients = yes" を指定します。
canonical_maps アドレスマッピングを受けるアドレス。デフォルトでは、canonical_maps マッピングはエンベロープ送信者および受信者アドレス、そしてヘッダ送信者およびヘッダ受信者アドレスに適用されます。
以下の1つ以上を指定します: envelope_sender, envelope_recipient, header_sender, header_recipient
この機能はPostfix 2.2以降で使えます。
オプションのメッセージヘッダおよびエンベロープのアドレスマッピング検索テーブル。マッピングは送信者および受信者アドレスの両方、エンベロープおよびヘッダの両方で、canonical_classes パラメータで制御されたように適用されます。これは通常、古いメールシステムの汚いアドレスをきれいにしたり、ログイン名を Firstname.Lastname で置き換えるのに使われます。テーブルの書式と検索は canonical(5) に記述されています。 Postfixアドレス操作の概要は ADDRESS_REWRITING_README ドキュメントを参照してください。
この機能を使う場合、必要な DBM または DB ファイルを作るために、更新するたびに "postmap /etc/postfix/canonical" を実行してください。変更は1分程度で反映されます。遅延をなくすには "postfix reload" を使ってください。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスマッピングはメッセージヘッダアドレスの書き換えが有効になっているときのみになされます:
Postfixバージョン2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
例:
canonical_maps = dbm:/etc/postfix/canonical canonical_maps = hash:/etc/postfix/canonical
cleanup(8) サービスの名前。このサービスはアドレスを標準的な形式に書き換え、canonical(5) アドレスマッピングと virtual(5) エイリアシングを実行します。
この機能はPostfix 2.0以降で使えます。
全てのPostfix管理コマンドの場所。
外部コマンドへの配送に使う local(8) 配送エージェントのワーキングディレクトリ。ディレクトリの変更に失敗すると配送は遅延されます。
ディレクトリ変更前に以下の $name 展開が command_execution_directoryでなされます。展開は配送要求の段階で起こります。$name 展開の結果は execution_directory_expansion_filter パラメータで指定された文字セットでフィルタリングされます。
$name の代わりに ${name} や $(name) を指定することもできます。
この機能はPostfix 2.2以降で使えます。
$mailbox_command の $name 展開で local(8) 配送エージェントが許す文字を制限します。許可されたセット以外の文字はアンダースコアで置き換えられます。
外部コマンドへの配送の時間制限。この制限は local(8) 配送エージェントによって使われます。また pipe(8) 配送エージェントによる配送のデフォルトの時間制限でもあります。
注意: この時間制限を大きな値に設定するのであれば、一般的な ipc_timeout パラメータも同様に更新しなければいけません。
Postfix main.cf および master.cf 設定ファイルのデフォルトの場所。これは以下のメカニズムを通して上書きされます:
MAIL_CONFIG 環境変数 (デーモンプロセスおよびコマンド)。
"-c" コマンドラインオプション (コマンドのみ)。
set-gid権限で動くPostfixコマンドでは、config_directory を上書きするには、root権限でおこなうか、デフォルトの main.cf ファイルの alternate_config_directories パラメータでディレクトリがリストアップされていることが必要です。
接続キャッシュの接続、送信および受信操作の時間制限。時間制限はクライアント側で強制されます。
この機能はPostfix 2.3以降で使えます。
scache(8) 接続キャッシュサービスの名前。このサービスはキャッシュされたセッションの限られた集まりを管理します。
論理的な配送先や物理的な端点に対して接続キャッシュのヒットやミスの割合といった利用統計を scache(8) サーバがログに記録する頻度。
scache(8) 接続キャッシュサーバが許す最大生存時間の値。この値を超えるTTLの要求は、最大限許されるTTLに書き換えて保存されます。この追加制御は、不注意な人たちから基盤を保護することが目的です。キャッシュTTLはすでに $max_idle で制限されています。
キューに入った後でメールをフィルタリングするメール配送transportの名前。
このパラメータはPostfix transport(5) テーブルの右側部分と同じ文法を使います。この設定は access(5)テーブルや header_checks(5)、body_checks(5) テーブルで指定されるコンテンツフィルタよりも優先度は下です。
Postfixサポートプログラムおよびデーモンプログラムがあるディレクトリ。これらは人間によって直接呼び出されるべきではありません。ディレクトリは root が所有しなければいけません。
ビルトイン監視タイマーによって終了するまでの、Postfixデーモンプロセスが要求を扱うことができる時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
リモートクライアントまたはサーバが debug_peer_list パラメータのパターンにマッチした場合の、冗長ログレベルの増分。
冗長ログレベルを $debug_peer_level で指定された量だけ増加させる、リモートクライアントまたはサーバのホスト名またはネットワークアドレスのパターンのオプションのリスト。
ドメイン名や network/netmask パターン、"/file/name" パターン、 "type:table" 検索テーブルを指定します。"type:table" 検索からの右側部分の結果は無視されます。
ドメイン名のパターンマッチは parent_domain_matches_subdomains パラメータによって制御されます。
例:
debug_peer_list = 127.0.0.1 debug_peer_list = some.domain
Postfixデーモンプログラムが -D オプション付きで呼ばれたときに実行される外部コマンド。
処理が進む前にデバッガを装着するために、"command .. & sleep 5" を使ってください。X ベースのデバッガを使うのであれば、Postfixを起動する前に XAUTHORITY 環境変数を設定していることを確認してください。
例:
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
newaliases(1) や postalias(1)、postmap(1) コマンドで使う、デフォルトのデータベース形式。多くの UNIX システムでは、デフォルトの形式は dbm か hash のどちらかです。デフォルトの設定は Postfixシステムが構築される際に固定されます。
例:
default_database_type = hash default_database_type = dbm
Postfixキューマネージャのスケジューラがあるメッセージを他のメッセージの配送に割り込みを許す頻度。
それぞれの transport はいわゆる「利用可能な配送スロットカウンタ」を管理します。あるメッセージは、他のメッセージが現在蓄積している (または最終的に蓄積する - 以下の slot loan を参照) メッセージカウンタよりも配送スロット (すなわち配送エージェントの呼び出し) が少なければ、そのメッセージによって割り込まれます。このパラメータはカウンタが増加する頻度を制御します - default_delivery_slot_cost の受信者数に配送されるごとに増加します。
完全に割り込みスケジューリングを無効にするには、コストとして 0 を使います。スケジューリングアルゴリズムが使える最小値は 2 です - メッセージスループット速度を最大にしたければ、この値を使ってください。最大値はありませんが、およそ 50 を超える値を使うのは意味がありません。
2という値がデフォルトではないのは、このパラメータがメーリングリストのメール配送に影響を及ぼすというのが唯一の理由です。最悪の場合、それらの配送は割り込みスケジュールが無効になっている場合のおよそ (cost+1/cost) から (cost/cost-1) 倍になります。5というデフォルト値は、最悪の場合でもメーリングリストの配送が 20-25 パーセント以上伸びないことが確認されており、合理的なメッセージ応答時間が得られることがわかっています。
例:
default_delivery_slot_cost = 0 default_delivery_slot_cost = 2
transport に特有の _delivery_slot_discount 設定のデフォルト値。
このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。要求された配送スロットの量が全て使えるようになるのを待つのではなく、要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、割り込みが起こります。後で他の割り込みが起こる場合には、その前に全量が蓄積していなければいけないことに注意してください。
transport に特有の _delivery_slot_loan 設定のデフォルト値。
このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。要求された配送スロットの量が全て使えるようになるのを待つのではなく、要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、割り込みが起こります。後で他の割り込みが起こる場合には、その前に全量が蓄積していなければいけないことに注意してください。
同じ配送先への並列配送の、デフォルトの最大数。これは lmtp(8) や pipe(8)、smtp(8)、virtual(8) 配送エージェントを使った配送のデフォルトの制限です。
メッセージ配送ごとの受信者数の、デフォルトの最大数。これは lmtp(8) や pipe(8)、smtp(8)、virtual(8) 配送エージェントを使った配送のデフォルトの制限です。
このパラメータの値を1に設定すると、対応する配送先ごとの並列制限はドメインごとの並列度から受信者ごとの並列度へと意味を変えます。
transport ごとの予備のメモリ内受信者数に課せられる制限のデフォルト値。 Postfixキューマネージャのスケジューラがあるメッセージに他のメッセージを割り込みが入り、パフォーマンス低下を避けるために選択されたメッセージが急に余計な受信者スロットを必要とした場合のために、予備の受信者空間が予約されます。
Postfixキューマネージャのスケジューリングアルゴリズムを呼び出さなければならなくなる、1メッセージの受信者の数。少なくともこの配送スロット数まで蓄積していない(スロットコストパラメータの制約も受けます) メッセージは割り込みを受けません。
外部ファイルまたはコマンドへの配送で、local(8) 配送エージェントが使うデフォルトの権限。これらの権限は root が所有する aliases(5) ファイルから配送が要求されたり、root の代理として配送がなされる際に使われます。特権ユーザや POSTFIX の所有者を指定してはいけません。
指定されたサービスを提供するPostfix子プロセスの、デフォルトの最大数。この制限は master.cf ファイルの特定のサービスに対して上書きできます。
RBL ベースの制限で拒否された要求に対する、デフォルトの SMTPサーバ応答のテンプレート。このテンプレートはオプションの rbl_reply_maps 検索テーブルのエントリで指定することで上書きできます。
この機能はPostfix 2.0以降で使えます。
テンプレートはちょうど1レベルの $name 置き換えを受けます:
$name の代わりに ${name} や $(name) を指定することもできます。
注意: RBL応答テンプレート内で拡張状態コードが指定されると、修正されることがあります。クライアント、helo、送信者、受信者アクセス制限に同じRBL応答テンプレートが使われる場合、以下の変換が必要となります。
送信者アドレスを拒否する際、Postfix SMTPサーバは受信者DSN状態 (例えば 4.1.1-4.1.6) を対応する送信者DNS状態に変換し、またその逆もおこなわれます。
(HELOコマンドの引数やクライアントホスト名/アドレスのような) 非アドレス情報を拒否する場合、Postfix SMTPサーバは送信者もしくは受信者DSN状態を一般的な非アドレスDSN状態 (例えば 4.0.0) に変換します。
メモリ内受信者数の transport ごとのデフォルトの上限。メッセージがそれぞれの transport に割り振られた後は、これらの制限は一般的な qmgr_message_recipient_limit よりも優先されます。default_extra_recipient_limit や qmgr_message_recipient_minimum も参照してください。
$mydestination や $inet_interfaces、$proxy_interfaces、$virtual_alias_domains、$virtual_mailbox_domains、$relay_domains にマッチしない配送先の、デフォルトのメール配送transportおよびnext-hop配送先。nexthop配送先の優先度は、$default_transport、$sender_dependent_relayhost_maps、$relayhost、受信者ドメインからのものの順に下がっていきます。この情報は transport(5) テーブルで上書きできます。
transport:nexthop という形の文字列を指定します。ここで transportは master.cf に定義されたメール配送 transport の名前です。:nexthop 部分はオプションです。より詳細は transport(5) マニュアルページを参照してください。
例:
default_transport = uucp:relayhostname
デフォルトの2つの VERP 区切り文字。これらは SMTP XVERP コマンドや "sendmail -V" コマンドラインオプションで指定された明示的な区切り文字が指定されていない場合に使われます。verp_delimiter_filter 設定で許可されている文字を指定してください。
この機能はPostfix 1.1以降で使えます。
リモートSMTPクライアントの要求が "defer" 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解しているのでなければ、これを変更してはいけません。
defer サービスの名前。このサービスは bounce(8) デーモンによって実装され、失敗した配送試行の記録を管理し、不達通知を生成します。
この機能はPostfix 2.0以降で使えます。
誰かが "sendmail -q" または等価なものを実行するまで配送しない、メッセージ配送 transport の名前。master.cf の最初のフィールドに現れるメール配送 transport の名前をゼロ個もしくはそれ以上指定します。
例:
defer_transports = smtp
ログに小数点以下の遅延の値を記録する際の、小数点以下の最大の桁数。0..6の範囲の数値を指定します。
大きな遅延の値は整数秒に丸められます; delay_logging_resolution_limit 以下の遅延の値は "0" としてログに記録され、小さな遅延の値は最大2桁の制度でログに記録されます。
"delays=a/b/c/d" ログの書式は以下のとおりです:
この機能はPostfix 2.3以降で使えます。
$delay_warning_time 時間単位内に送れなかったメールのメッセージヘッダを持つ、ポストマスターへの通知の受信者。
この機能は delay_warning_time パラメータで有効になります。
依然としてキューに入っているメールのメッセージヘッダを送信者が受け取るまでの時間。
この機能を有効にするには、ゼロ以外の時間の値を指定します (整数値に時間単位を示す1文字サフィックスをつけます)。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は h (時) です。
メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする最大回数。
メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする時間間隔。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
Postfix SMTPおよびLMTPクライアントでのDNS検索を無効にします。無効になると、通常は /etc/hosts も検索する gethostbyname() システムライブラリルーチンを使ってホストが検索されます。
デフォルトではDNS検索は有効になっています。
メール受信中の MIME 処理を無効にします。これは Content-Type: メッセージヘッダを特別扱いせず、最初のメッセージヘッダの後にある全てのテキストはメッセージ本体の一部と見なされることを意味します。
この機能はPostfix 2.0以降で使えます。
MIME 入力の処理はデフォルトで有効になっており、これはメッセージの中身で MIME ヘッダを認識するのに必要です。
8BITMIME 形式から 7BIT 形式への変換を無効にします。MIME 出力の変換は配送先が 8BITMIME サポートを案内しない場合に必要です。
この機能はPostfix 2.0以降で使えます。
受信者ごとに1つのバウンスレポートを送らないようにします。
受信者ごとに1つというデフォルトは ezmlm が必要としているものです。
この機能はPostfix 1.1以降で使えます。
SMTP VRFY コマンドを無効にします。これはEメールアドレス収集に使われる、ある種のテクニックを止めます。
例:
disable_vrfy_command = no
キューファイルを削除せずに、それらを "saved" メールキューに保存します。これはデバッグを助けます。エンベロープ情報やPostfixキューファイルの中身を調べるには、postcat(1) コマンドを使ってください。
メールシステムによって生成されるポストマスターへの通知の送信者アドレス。このアドレスへの全てのメールは、メールバウンスループを終わらせるために、静かに破棄されます。
aliases(5) または virtual(5) エイリアスの展開や showq(8) キューの表示に対して、アドレス複製フィルタが記憶するアドレスの最大数。
null アドレス宛のメールの受信者。Postfixはそのようなアドレスを SMTP コマンドでは受けませんが、設定やソフトウェアエラーの結果としてローカルで生成される可能性があります。
エンベロープ送信者アドレスではなく、非標準的な Error-To: メッセージヘッダで指定されたアドレスにメール配送エラーを報告します (この機能はPostfixバージョン2.2では削除され、Postfixバージョン2.1以降ではこのサポートはデフォルトで無効になっており、それ以前のバージョンの Potfix では常に有効です)。
X-Original-To メッセージヘッダのサポートを有効にします。このヘッダは受信者が複数いるメールボックスに必要です。
このパラメータが yes に設定されていると、cleanup(8) デーモンは (元の受信者、書き換えられた受信者) の厳密な組み合わせの重複をなくし、元の受信者が空ではないキューファイル記録を生成します。
このパラメータが no に設定されていると、cleanup(8) デーモンは書き換えられた受信者アドレスだけの重複をなくし、元の受信者が空のキューファイル記録を生成します。
この機能はPostfix 2.1以降で使えます。Postfixバージョン2.0 では、X-Original-To メッセージヘッダのサポートは常に有効です。2.0 以前のバージョンの Postfixでは、X-Original-To メッセージヘッダのサポートはありません。
ポリシー、リソース、ソフトウェアまたはプロトコルエラーによって起きたメール配送問題に関するポストマスターへの通知の受信者。これらの通知は notify_classes パラメータで有効にされます。
error(8) 疑似配送エージェントの名前。このサービスは常にメールを配送できないものとして返します。
この機能はPostfix 2.0以降で使えます。
local(8) 配送エージェントが $command_execution_directory の $name 展開で許す文字を制限します。許可されたセット以外の文字はアンダースコアで置き換えられます。
この機能はPostfix 2.2以降で使えます。
対応する "owner-aliasname" エイリアスを持つエイリアス "aliasname" への配送時に、エンベロープ送信者アドレスとして "owner-aliasname" エイリアスを展開したものをセットします。通常は、Postfixはエンベロープ送信者アドレスを "owner-aliases" エイリアスの名前にセットします。
Postfixプロセスが非Postfixプロセスに渡す環境変数のリスト。 System-V 系のシステムで時間を健全に保つには TZ 変数が必要です。
名前や name=value の組を空白またはカンマで区切ったリストを指定します。name=value の形式はPostfixバージョン2.1以降でサポートされています。
例:
export_environment = TZ PATH=/bin:/usr/bin
メールが "sendmail -t" で投函された際に、Postfixがメッセージヘッダから抽出する受信者アドレスの最大数。
この機能はPostfixバージョン2.1 で削られました。
見つからなかったり到達できない SMTP 配送先への、オプションのリレーホストのリスト。Postfix 2.3では、このパラメータは smtp_fallback_relay と改名されました。
デフォルトでは、配送先が見つからない場合にはメールは送信者に返され、配送先に到達できない場合には配送が遅延されます。
fallback relayはSMTPによる配送先でなければいけません。ドメイン、ホスト、host:port、[host]:port、[address] または [address]:port を指定します; [host] の形式はMX検索を無効にします。複数のSMTP 配送先を指定すると、Postfixは指定された順でそれらを試します。
注意: Postfix 2.2以前では、バックアップもしくはプライマリMXドメインにメールをリレーする際に fallback_relay 機能を使ってはいけません。最終配送先に到達できないと、Postfix MXホストと fallback_relay の間でメールがループしてしまいます。
Postfixバージョン2.2以降はMXホストである配送先に対しては fallback_relay 機能を使いません。
aliases(5) データベースや UNIX パスワードデータベースに名前が見つからない場合に、 local(8) 配送エージェントが使う、オプションのメッセージ配送transport。
local(8) 配送機能の優先度は高いものから低いものの順に: aliases、.forward ファイル、mailbox_transport_maps、mailbox_transport、mailbox_command_maps、mailbox_command、home_mailbox、mail_spool_directory、fallback_transport_maps、fallback_transport、そして luser_relay。
local(8) 配送エージェントが aliases(5) やUNIXパスワードデータベースで見つけられない受信者に対する、受信者ごとのメッセージ配送transportが書かれた、オプションの検索テーブル。
local(8) 配送機能の優先度は高いものから低いものの順に: aliases、.forward ファイル、mailbox_transport_maps、mailbox_transport、mailbox_command_maps、mailbox_command、home_mailbox、mail_spool_directory、fallback_transport_maps、fallback_transport、そして luser_relay。
安全上の理由から、この機能は正規表現マップでの $number の置換が使えません。
この機能はPostfix 2.3以降で使えます。
配送先ごとのログファイルに適格な配送先で、それらの配送先宛のキューに入ったメールを持つものの、オプションのリスト。
デフォルトでは、PostfixはPostfix SMTPサーバがリレーしようとする配送先に対してのみ、"高速flush" ログファイルを管理します (すなわちデフォルトは "fast_flush_domains = $relay_domains"; postconf(5) マニュアルの relay_domains パラメータを参照してください)。
ホストまたはドメイン、"/file/name" パターン、"type:table" 検索テーブルをカンマや空白で区切って指定してください。次の行を空白で始めることで、長い行を継続します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはドメインまたはその親ドメインが検索キーとして現れるとマッチします。
この機能を完全に無効にするには "fast_flush_domains =" (つまり空) を指定します。
空の配送先ごとの "高速 flush" ログファイルが削除されるまでの時間。
数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は d (日) です。
空ではないが読まれていない 配送先ごとの "高速 flush" ログファイルの更新が必要となるまでの時間。ログファイルの内容はログファイルにリストアップされた全てのメッセージの配送を要求することで更新されます。
数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は h (時) です。
内部テストの失敗がないと再現が難しいエラーの扱いをテストするため、特定の内部テストの失敗を強制します。
flush(8) サービスの名前。このサービスはキューに入っているメールのキューファイル名を持つ配送先ごとのログファイルを管理します。
この機能はPostfix 2.0以降で使えます。
子プロセスを fork() しようとする最大回数。
子プロセスの fork() 試行間に入れる遅延。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
$forward_path の $name 展開で local(8) 配送エージェントが許す文字を制限します。許可されたセット以外の文字はアンダースコアで置き換えられます。
ユーザが指定した配送方法が書かれた .forward ファイルを見つけるための、local(8) 配送エージェント検索リスト。最初に見つかったファイルが使われます。
実際に検索を始める前に、forward_path では以下のように $name が展開されます。$name 展開の結果は forward_expansion_filter パラメータで指定された文字セットでフィルタリングされます。
$name の代わりに ${name} や $(name) を指定することもできます。
例:
forward_path = /var/forward/$user
forward_path =
/var/forward/$user/.forward$recipient_delimiter$extension,
/var/forward/$user/.forward
local(8) 配送エージェントは Delivered-To: アドレス (prepend_delivered_header 参照) を、1度だけ、配送しようとし始めたときに更新します; エイリアスや .forward ファイルの展開中には Delivered-To: アドレスを更新しません。
この機能はPostfix 2.3以降で使えます。古いPostfixリリースでは、"no" と指定したのと同じような振る舞いでした。古い設定では、エイリアスや .forward ファイルが深くネストしている場合に負荷が高くなりえます。エイリアスや .forward ファイルが Delivered-To: アドレスを変える場合、メールが配送されるまでの間、1つのキューファイルと1つのcleanupプロセスインスタンスが拘束されてしまいます。
hash_queue_names パラメータにリストアップされたキューディレクトリの、サブディレクトリレベル数。
hash_queue_names または hash_queue_depth パラメータの変更後は、コマンド "postfix reload" を実行してください。
複数のサブディレクトリレベルにわたって分割されるキューディレクトリの名前。
Postfixバージョン2.2以前では、ハッシュされたキューのデフォルトリストは非常に大きなものでした。ファイルシステム技術の向上に関する主張によると、incoming や active キュー のハッシュ化は今となっては不要であることを示しています。ハッシュ化したディレクトリを少なくすると、Postfixを再起動するのに必要な時間の高速化になります。
hash_queue_names または hash_queue_depth パラメータの変更後は、コマンド "postfix reload" を実行してください。
アドレスメッセージヘッダ内で許されるアドレストークンの最大数。制限を超えた情報は破棄されます。この制限は cleanup(8) サーバによって強制されます。
header_checks(5) マニュアルページに書かれているような、非MIMEな最初のメッセージヘッダのコンテンツ検査をおこなう、オプションの検索テーブル。
メッセージヘッダを格納するメモリの、バイト単位の最大量。それよりもヘッダが大きい場合、超過分は破棄されます。この制限は cleanup(8) サーバによって強制されます。
問題のある設定をログで警告し、参考になる忠告を提供します。
この機能はPostfix 2.0以降で使えます。
オプションのメールボックスファイルの local(8) ユーザのホームディレクトリからの相対パス名。
qmail 形式の配送をするには、"/" で終わるパス名を指定します。
local(8) 配送機能の優先度は高いものから低いものの順に: aliases、.forward ファイル、mailbox_transport_maps、mailbox_transport、mailbox_command_maps、mailbox_command、home_mailbox、mail_spool_directory、fallback_transport_maps、fallback_transport、そして luser_relay。
例:
home_mailbox = Mailbox home_mailbox = Maildir/
最初のメッセージヘッダで許される Received: メッセージヘッダの最大数。制限を超えたメッセージはメーラループを止めるためにバウンスされます。
Postfixサブシステムや機能に関する構築方法や設定方法、操作方法が書かれたPostfix HTMLファイルの場所。
応答しないDNS MX検索を無視します。デフォルトでは、Postfix SMTP クライアントは配送を遅延し、しばらくしてから再試行します。この振る舞いは SMTP 標準によって要求されています。
代わりにDNS Aレコード検索を強制するには、"ignore_mx_lookup_error = yes" を指定してください。これは SMTP 標準からはずれており、メールの配送ミスを起こす可能性があります。
Postfixプロセスが非Postfix親プロセスから受け取る環境変数パラメータのリスト。関連するパラメータの例:
名前や name=value の組を空白またはカンマで区切ったリストを指定します。name=value の形式はPostfixバージョン2.1以降でサポートされています。
メッセージ到着速度がメッセージ配送速度を超えた場合に、新しいメッセージを受ける前に一時停止する時間。この機能はデフォルトで有効になっています (SCO バグのため、SCO UNIX では無効にされています)。
デフォルトの 100 SMTPサーバプロセス制限では、"in_flow_delay = 1s" は1秒あたりのメッセージ配送数を超えて入ってくるメールを毎秒 100 メッセージに制限します。
この機能を無効にするには 0 を指定します。有効な遅延は 0..10 です。
このメールシステムがメールを受け取るネットワークインターフェースアドレス。すべてのネットワークインターフェースでメールを受信するには "all" を指定します (デフォルト)。ループバックネットワークインターフェースのみでメールを受け取るには "loopback-only" を指定します (Postfixバージョン2.2以降)。このパラメータは user@[ip.address] 宛のメール配送も制御します。
注意1: このパラメータを変更したらPostfixを stop してから start する必要があります。
注意2: アドレス情報を [] の中に入れることもできますが、ここではこの形式は推奨しません。
inet_interfaces がループバックアドレスではないIPv4やIPv6アドレスを1つだけ指定している場合、 Postfix SMTPクライアントはこのアドレスを外行きメールのIPソースアドレスとして使います。IPv6のサポートはPostfixバージョン2.2以降で使えます。
マルチホームなファイアウォールで、"内側" と "外側" インターフェースで listenする別々のPostfixインスタンスを持つと、それぞれのインターフェースがファイアウォールの "反対側" のサーバに到達できなくなってしまいます。smtp_bind_address を 0.0.0.0 とすることでIPv4の潜在的な問題を避け、smtp_bind_address6 を :: とするとIPv6の問題を解決します。
マルチホームなファイアウォールでは、inet_interfaces をデフォルト値のままにしておき、代わりに master.cf SMTPサーバ定義で明示的なIPアドレスを使うのがよりよい解決策です。こうしてファイアウォールのそれぞれの側が他のIPアドレスも同じホストにあるとわからせることで、Postfix SMTPクライアントのループ検出機能を維持します。$inet_interfaces に単一のIPv4やIPv6アドレスを設定すると、主に、それぞれのIPアドレスが異なるドメインを提供する (そして異なる $myhostname 設定を持つ) 場合に、セカンダリIPアドレスでバーチャルホスティングをするのに便利です。
プロキシやアドレス変換を通ってPostfixに転送されてくるネットワークアドレスについては、 proxy_interfaces パラメータも参照してください。
例:
inet_interfaces = all (デフォルト) inet_interfaces = loopback-only (Postfixバージョン2.2以降) inet_interfaces = 127.0.0.1 inet_interfaces = 127.0.0.1, [::1] (Postfixバージョン2.2 以降) inet_interfaces = 192.168.1.2, 127.0.0.1
Postfixが接続したり受ける際に使おうとするインターネットプロトコル。 "ipv4" または "ipv6" の1つ以上を、空白またはカンマで区切って指定します。 "all" という形式は "ipv4, ipv6" または "ipv4" と等価で、これはオペレーティングシステムがIPv6を実装しているかによります。
この機能はPostfix 2.2以降で使えます。
注意: このパラメータを変更したらPostfixを stop してから start しなければ「いけません」。
IPV6_V6ONLY サポート (RFC 3493) より前のシステムでは、IPv4を inet_protocols パラメータで無効にしていても、IPv6サーバはIPv4 接続も受けてしまいます。IPV6_V6ONLY サポートのあるシステムでは、 PostfixはIPv6とIPv4で別々のサーバソケットを使い、それぞれ対応するプロトコルの接続のみを受けます。
IPv4サポートが inet_protocols パラメータで有効になっていると、PostfixはDNSタイプAレコード検索をおこない、IPv4-in-IPv6 クライアントIPアドレス (::ffff:1.2.3.4) を元のIPv4形式 (1.2.3.4) に変換します。後者は IPV6_V6ONLY サポート (RFC 3493) 以前のホストで必要です。
IPv6サポートが inet_protocols パラメータで有効になっていると、 PostfixはDNSタイプAAAAレコード検索をおこないます。
IPv4とIPv6サポートの両方が有効になっていると、Postfix SMTP クライアントはIPv4を使おうとする前にIPv6で接続を試みます。
例:
inet_protocols = ipv4 (デフォルト) inet_protocols = all inet_protocols = ipv6 inet_protocols = ipv4, ipv6
同じ配送先に並列で配送する際の、配送先ごとの並列度の初期値。この制限は smtp(8) を使った配送や、pipe(8) や virtual(8) 配送エージェントを使った配送に適用されます。
警告: 並列度を 1 にすると、悪いメッセージが1つあるだけであるサイトへの全てのメールを止めてしまうことになりかねません。
Postfixが生成したメールのうち、non_smtpd_milters や header_checks、body_checks によるキュー投入前コンテンツ検査を受けるカテゴリ。以下のうちゼロ個以上を、空白またはカンマで区切って指定します。
注意: たいていの場合、Postfixが生成したEメールメッセージのないよう検査を有効にするのは安全ではありません。ユーザは警告を受けます。
この機能はPostfix 2.3以降で使えます。
クライアントの HELO または EHLO コマンドパラメータが reject_invalid_helo_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解しているのでなければ、これを変更してはいけません。
アイドル状態になっている内部接続チャネルをクライアントが閉じるまでの時間。これはサーバがアイドル状態になったあとで、自主的に終了できるようにすることが目的です。これは例えばアドレス解決および書き換えクライアントによって使われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
内部通信チャネルを通して情報を送受信する際の時間制限。これはデッドロック状態を打破するのが目的です。制限時間を超えると、ソフトウェアは致命的エラーを出して強制終了します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
アクティブな内部通信チャネルをクライアントが閉じるまでの時間。これはクライアントが制限に達した際に、サーバが自主的に終了できるようにすることが目的です。これは例えばアドレス解決および書き換えクライアントによって使われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
入力時に、長い行は最大でこの長さの断片に分けられます; 配送時には長い行は再構築されます。
smtp_bind_address 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_bind_address6 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
$max_idle 秒になるまでPostfix LMTP クライアントの接続を開いたままにします。LMTPクライアントが同じ接続を要求された際に、接続は再利用されます。
LMTPクライアントが同じ接続を要求された際に、接続は再利用されます。キャッシュされた接続は以下のいずれかの条件で閉じられます:
これらの制限の多くはPostfixが複数のLMTPクライアントプログラムで共有する接続キャッシュを実装したときになくなる予定です。
smtp_cname_overrides_servername 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
TCP接続を完了するまでの LMTPクライアントの時間制限、またはゼロ (オペレーティングシステムのビルトイン時間制限を使います)。期限までに接続できないと、LMTPクライアントはメール交換機リストの次のアドレスを試行します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
例:
lmtp_connect_timeout = 30s
smtp_connection_cache_destinations 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_connection_cache_on_demand 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_connection_cache_time_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_connection_reuse_time_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
LMTP "." を送り、サーバの応答を受け取るまでの、LMTPクライアントの時間制限。期限までに応答を受けないと、メールが複数回配送されるかもしれないという警告がログに記録されます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
LMTP DATA コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
LMTPメッセージコンテンツを送る際のLMTPクライアントの時間制限。接続が $lmtp_data_xfer_timeout 以上の時間行き詰まると、LMTPクライアントは転送を終了します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
smtp_defer_if_no_mx_address_found 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
lmtp メッセージ配送 transport を使った同じ配送先への並列配送の最大数。この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
lmtp メッセージ配送 transport を使った、配送ごとの受信者の最大数。この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
このパラメータの値を1に設定すると、lmtp_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。
LMTPクライアントがリモートLMTPサーバからの応答で無視する、大文字小文字を区別しない LHLO キーワードのリスト (pipelining, starttls, auth など) を持つ、リモートLMTPサーバアドレスでインデックス化された検索テーブル。詳細は lmtp_discard_lhlo_keywords を参照してください。smtpd_discard_ehlo_keyword_address_maps との一貫性を保つため、テーブルはホスト名ではインデックス化されません。
この機能はPostfix 2.3以降で使えます。
LMTPクライアントがリモートLMTPサーバからのLHLO応答で無視する、大文字小文字を区別しないLHLOキーワードのリスト (pipelining, starttls, auth など)。
この機能はPostfix 2.3以降で使えます。
注意:
この動作がログに記録されないようにするには、silent-discard擬似キーワードを指定します。
選択的にLHLOキーワードを破棄するには、lmtp_discard_lhlo_keyword_address_maps 機能を使います。
smtp_enforce_tls 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_generic_maps 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_host_lookup 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
LMTP LHLO コマンドで送るホスト名。
デフォルト値はマシンのホスト名です。ホスト名または [ip.add.re.ss] を指定します。
全てのLMTPクライアントに対しては main.cf ファイルでこの情報を指定できますし、もしくは特定のクライアントに対しては master.cf ファイルで指定できます。例:
/etc/postfix/master.cf:
mylmtp ... lmtp -o lmtp_lhlo_name=foo.bar.com
この機能はPostfix 2.3以降で使えます。
LHLO コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
smtp_line_length_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
MAIL FROM コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
smtp_mx_address_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_mx_session_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_pix_workaround_delay_time 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_pix_workaround_threshold_time 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
QUIT コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
smtp_quote_rfc821_envelope 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_randomize_addresses 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
RCPT TO コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
RSET コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの時間制限。LMTPクライアントは受信者アドレス探査を終わらせるためや、キャッシュされた接続がまだ生きているかどうかを確認するために RSET を送ります。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
Postfix LMTPクライアントのSASL認証を有効にします。
smtp_sasl_mechanism_filter 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
ホストまたはドメインごとに1つの username:password エントリを持つ、オプションの LMTPクライアント検索テーブル。リモートホストやリモートドメインの username:password エントリがない場合、Postfix LMTP クライアントはそのリモートホストに対して認証を試そうとしません。
lmtp_sasl_type で選ばれたSASLプラグインの実装にそのまま渡される、実装に依存する情報。通常はここに設定ファイル名やランデブーポイントの名前を指定します。
この機能はPostfix 2.3以降で使えます。
SASLセキュリティオプション; Postfix 2.3では、利用可能な機能はlmtp_sasl_typeで選択されたSASLクライアントの実装に依存します。
以下のセキュリティ機能が cyrus クライアントSASL実装で定義されています:
例:
lmtp_sasl_security_options = noplaintext
smtp_sasl_tls_security_options 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_sasl_tls_verified_security_options 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
Postfix LMTPクライアントが認証に使うSASLプラグインの種類。利用可能な種類は "postconf -A" コマンドでリストアップされます。
この機能はPostfix 2.3以降で使えます。
LMTP LHLOサーバ応答が XFORWARD サポートを通知した場合に、LMTPサーバに XFORWARD コマンドを送ります。これはコンテンツフィルタによるメッセージの差し挟みに使われる lmtp(8) 配送エージェントが元のクライアントの名前やアドレス、プロトコル、HELO名をコンテンツフィルタや下流でキューイングするLMTPサーバに転送できるようにします。値を yes に変更する前に、コンテンツフィルタがこのコマンドをサポートしているか確認するのがよいでしょう。
この機能はPostfix 2.1以降で使えます。
smtp_sender_dependent_authentication 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_skip_5xx_greeting 設定パラメータのLMTP版。 詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
LMTP QUIT コマンドへの応答を待ちます。
smtp_starttls_timeout 設定パラメータのLMTP版。 詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
Postfix LMTPクライアントが接続する、デフォルトのTCPポート。
smtp_tls_CAfile 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_CApath 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_cert_file 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_dcert_file 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_dkey_file 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_enforce_peername 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_exclude_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_key_file 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_loglevel 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_mandatory_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_mandatory_exclude_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_mandatory_protocols 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_note_starttls_offer 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_per_site 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_policy_maps 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_scert_verifydepth 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_secure_cert_match 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_session_cache_database 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_session_cache_timeout 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_tls_verify_cert_match 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
smtp_use_tls 設定パラメータのLMTP版。詳細はそちらを参照してください。
この機能はPostfix 2.3以降で使えます。
XFORWARD コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
問題が起こった場合、クライアントはメール交換機リストの次のアドレスを「試しません」。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
local(8) が非Postfixコマンドに配送する際の、オプションのシェルプログラム。デフォルトでは、非Postfixコマンドは直接実行されます; コマンドがシェルのメタ文字やシェルビルトインコマンドを含んでいる場合に限り、コマンドは /bin/sh に与えられます。
"sendmail's restricted shell" (smrsh) は例えば .forward ファイルから実行できるプログラムを制限するために、最も多くの人が使うものでしょう (smrsh は Sendmail 配布物の一部です)。
注意: シェルプログラムが指定されると、コマンドがシェルビルトインコマンドやメタ文字を含んでいない場合でもそれが呼ばれます。
例:
local_command_shell = /some/where/smrsh -c
local メール配送 transport を使った同じ受信者への並列配送の最大数 ("local_destination_recipient_limit = 1" の場合)、または同じローカルドメインローカルドメイン ( "local_destination_recipient_limit > 1" の場合)。この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
.forward ファイルやエイリアスに (メーリングリストマネージャのような) 負荷の高いシェルコマンドがある場合だけに備えた、2という低い制限が推奨されます。同時にこれらをたくさん動かす必要はないでしょう。
local メール配送 transport を使ったメッセージ配送ごとの、最大の受信者数。この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
このパラメータを1より大きい値に変更すると、local_destination_concurrency_limit の意味が受信者ごとの並列度からドメインごとの並列度に変わります。
これらのクライアントから来たメールのメッセージヘッダアドレスを書き換え、不完全なアドレスに $myorigin や $mydomain を付けて更新します; 他のクライアントからのメッセージヘッダは一切書き換えないか、メッセージヘッダを書き換えて不完全なアドレスに remote_header_rewrite_domain パラメータで指定されたドメインを付けて更新するかのどちらかです。
不完全なアドレスにドメイン名を付加する方法の詳細は、append_at_myorigin および append_dot_mydomain パラメータを参照してください。
以下のうち、ゼロ個以上のリストを指定してください:
例:
Postfix < 2.2後方互換な設定: 常にメッセージヘッダを書き換え、不十分なヘッダアドレスに自身のドメインを付加します。
local_header_rewrite_clients = static:all
純粋主義者 (そしてデフォルト) の設定: Postfix sendmailからのメールと、このマシンからのSMTPメールのヘッダのみを書き換えます。
local_header_rewrite_clients = permit_inet_interfaces
中間の設定: Postfix sendmailやローカルクライアント、認証されたSMTP クライアントからのメールのみ、ヘッダアドレスを書き換えて、$myorigin または $mydomain を付加します。
注意: この設定はリモートクライアントからのメールが近隣システムによって転送された場合のメールヘッダアドレスの書き換えは妨げません。
local_header_rewrite_clients = permit_mynetworks,
permit_sasl_authenticated permit_tls_clientcerts
check_address_map hash:/etc/postfix/pop-before-smtp
ローカル受信者の全ての名前もしくはアドレスを持つ検索テーブル: ドメインが $mydestination や $inet_interfaces、$proxy_interfaces にマッチする受信者アドレスがローカルです。有効な受信者リストを持たないドメインはワイルドカードとして @domain を指定します。技術的には、$local_recipient_maps でリストアップされたテーブルはリストとして使われます: Postfixは検索文字列が見つかるかどうかだけを知る必要があり、検索テーブルの結果は使いません。
このパラメータが空でなければ (デフォルトです)、Postfix SMTPサーバは知らないローカルユーザ宛のメールを拒否します。
Postfix SMTPサーバでのローカル受信者チェックを無効にするには、"local_recipient_maps =" (つまり空値) を指定します。
デフォルトの設定はローカル配送にデフォルトのPostfix local 配送エージェントを使うことを想定しています。次の場合には local_recipient_maps 設定を更新する必要があります:
詳細は LOCAL_RECIPIENT_README ファイルに記述されています。
注意: Postfix SMTPサーバが chroot されて走っている場合、chroot アクセス制限を乗り越えるために proxymap(8) サービスを通してpasswdファイルにアクセスする必要があります。代わりにシステムパスワードファイルのコピーをchroot監獄で管理するのは実用的ではありません。
例:
local_recipient_maps =
mydestination でリストアップされたドメインへの最終配送、および $inet_interfaces や $proxy_interfaces にマッチした [ipアドレス] 配送先に使う、デフォルトのメール配送transportおよびnext-hop配送先。この情報は transport(5) テーブルで上書きできます。
デフォルトでは、ローカルメールは "local" と呼ばれるtransportに配送されます。この "local" は master.cf ファイルで定義されたサービスの名前でしかありません。
transport:nexthop という形の文字列を指定します。ここで transportは master.cf に定義されたメール配送 transport の名前です。:nexthop 部分はオプションです。より詳細は transport(5) マニュアルページを参照してください。
注意: デフォルトの local 配送エージェントを上書きするのであれば、 LOCAL_RECIPIENT_README ドキュメントを再検討する必要があります。そうしないと、SMTPサーバはローカルの受信者宛のメールを拒否してしまうかもしれません。
知らない local(8) 受信者全ての、オプションの配送先。デフォルトでは、$mydestination や $inet_interfaces、$proxy_interfaces にマッチするドメインの知らない受信者宛のメールは、配送できないものとして返されます。
luser_relay では以下の $name 展開がおこなわれます:
$name の代わりに ${name} や $(name) を指定することもできます。
注意: luser_relay はPostfix local(8) 配送エージェントに対してのみ働きます。
注意: UNIX パスワードファイルにないアカウントに対してこの機能を使うのであれば、main.cf ファイルで "local_recipient_maps =" (つまり空値) を指定しなければいけません。そうしないと、Postfix SMTPサーバは非UNIXアカウント宛のメールを "User unknown in local recipient table" として拒否してしまいます。
例:
luser_relay = $user@other.host luser_relay = $local@other.host luser_relay = admin+$local
Received: ヘッダや SMTP グリーティングバナー、バウンスされたメールに表示されるメールシステム名。
PostfixキューおよびほとんどのPostfixデーモンプロセスを所有する UNIX システムアカウント。他のアカウントとグループを共有せず、システムの他のファイルやシステムを所有しないユーザアカウント名を指定します。特に、nobody や daemon を指定しないでください。「専用のユーザIDとグループIDを使ってください。」
このパラメータの値を変更したら、"postfix set-permissions" (Postfix 2.0以前では: "/etc/postfix/post-install set-permissions") を再実行する必要があります。
"YYYYMMDD" 形式のPostfixリリース日。
local(8) UNIX形式のメールボックスが置かれるディレクトリ。デフォルトの設定はシステムの種類に依存します。maildir 形式で配送するには、/ で終わる名前を指定します。
注意: maildir 配送は受信者の権限でおこなわれます。maildir 形式の配送で mail_spool_directory 設定を使う場合、前もってトップレベルの maildir ディレクトリを作らなければいけません。Postfixは作りません。
例:
mail_spool_directory = /var/mail mail_spool_directory = /var/spool/mail
メールシステムのバージョン。安定版は major.minor.patchlevel のように付けられています。試験版はリリース日も含んでいます。バージョン文字列は、例えば SMTP グリーティングバナーで使われるかもしれません。
メールボックス配送に local(8) 配送エージェントが使う、オプションの外部コマンド。コマンドは受信者のユーザIDと主となるグループID権限で動きます。例外: root宛のコマンド配送は $default_privs 権限で実行します。1) root宛のメールは実在ユーザにエイリアスされるべきであり、 2) rootとしてログインせず "su" を使うべきなので、これは問題ではありません。
以下の環境変数がコマンドに渡されます:
他のPostfix設定パラメータとは異なり、mailbox_command パラメータは $name の置換を受けません。これはシェル文法の指定を容易にするためです (例を参照)。
シェルのメタ文字があると、Postfixは負荷の高いシェルプロセスを走らせなければならなくなるため、できるだけ避けてください。Procmail を使って配送しているのであれば、全体の負荷としてシェルでも大差ないでしょう。
注意: システム全体のメール配送に mailbox_command 機能を使うのであれば、root宛のメールを実在のユーザに転送するようなエイリアスを作らなければいけません。
local(8) 配送機能の優先度は高いものから低いものの順