Postfix設定パラメータ


Postfix main.cf ファイルフォーマット

Postfix main.cf 設定ファイルには、Postfixメールシステムの動作を 制御する全てのパラメータのうち、小さなサブセットを指定します。 main.cf で指定されていないパラメータは、そのデフォルト値のまま 残されます。

main.cf ファイルの一般的な書式は以下の通りです:

このドキュメントの残りの部分は、全てのPostfix設定パラメータの 解説です。デフォルト値はパラメータ名の後のカッコ内に示され、 "postconf -d" コマンドで調べることもできます。

注意: これはPostfix設定パラメータの変更の勧めではありません。 不必要な変更はメールシステムの動作を損なうおそれがあります。

2bounce_notice_recipient (デフォルト: postmaster)

送信者に返すことができない不達メールの受信者。この機能は notify_classes パラメータで有効になります。

access_map_reject_code (デフォルト: 554)

クライアントが access(5) マップ制限により 拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に 理解しているのでなければ、これを変更してはいけません。

address_verify_default_transport (デフォルト: $default_transport)

アドレス検証プローブに対する default_transport パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

address_verify_local_transport (デフォルト: $local_transport)

アドレス検証プローブに対する local_transport パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

address_verify_map (デフォルト: empty)

永続的なアドレス検証状態ストレージの、オプションの検索テーブル。 このテーブルは 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以降で使えます。

address_verify_negative_cache (デフォルト: yes)

失敗したアドレス検証プローブの結果のキャッシュを有効にします。 この機能が有効になっていると、キャッシュはすぐにゴミで汚染される 可能性があります。この機能が無効になっていると、Postfixは全ての 検索にアドレスプローブを生成します。

この機能はPostfix 2.1以降で使えます。

address_verify_negative_expire_time (デフォルト: 3d)

失敗したプローブがアドレス検証キャッシュから消えるまでの時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

この機能はPostfix 2.1以降で使えます。

address_verify_negative_refresh_time (デフォルト: 3h)

失敗したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

この機能はPostfix 2.1以降で使えます。

address_verify_poll_count (デフォルト: 3)

進行中のアドレス検証要求を完了するために verify(8) サービスに問い合わせる回数。

デフォルトのポーリング回数は 3 です。

1 を指定すると粗っぽい形で greylisting を実装します。すなわち、 以前に見たことがないアドレスの最初の配送要求は常に遅延されます。

例:

address_verify_poll_count = 1

この機能はPostfix 2.1以降で使えます。

address_verify_poll_delay (デフォルト: 3s)

進行中のアドレス検証要求を完了するための、問い合わせの間に入れる遅延。

デフォルトのポーリング遅延は 3 秒です。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

この機能はPostfix 2.1以降で使えます。

address_verify_positive_expire_time (デフォルト: 31d)

成功したプローブがアドレス検証キャッシュから消えるまでの時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

この機能はPostfix 2.1以降で使えます。

address_verify_positive_refresh_time (デフォルト: 7d)

成功したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。 アドレス検証状態はプローブが失敗すると更新されません (楽観的 キャッシング)。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。

この機能はPostfix 2.1以降で使えます。

address_verify_relay_transport (デフォルト: $relay_transport)

アドレス検証プローブに対して、relay_transport パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

address_verify_relayhost (デフォルト: $relayhost)

アドレス検証プローブに対して、relayhost パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

address_verify_sender (デフォルト: postmaster)

アドレス検証プローブで使う送信者のアドレス。アドレスプローブに対して アドレスプローブを送ってしまう問題を回避するため、Postfix SMTP サーバは SMTPD access ブロックからプローブ送信者アドレスを除外します。

null 送信者アドレスを使いたい場合は空値 (address_verify_sender =) または <> を指定してください。RFC が <> からのアドレスを 受け付けるよう要求しているにもかかわらず、そのようなアドレスを拒否する サイトがあることに注意してください。

例:

address_verify_sender = <>
address_verify_sender = postmaster@my.domain

この機能はPostfix 2.1以降で使えます。

address_verify_service_name (デフォルト: verify)

verify(8) アドレス検証サービスの名前。この サービスは送信者や受信者のアドレス検証プローブの状態を管理し、他の Postfixプロセスによる要求でプローブを生成します。

address_verify_transport_maps (デフォルト: $transport_maps)

アドレス検証プローブに対して、transport_maps パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

address_verify_virtual_transport (デフォルト: $virtual_transport)

アドレス検証プローブに対して、virtual_transport パラメータ設定を上書きします。

この機能はPostfix 2.1以降で使えます。

alias_database (デフォルト: "postconf -d" の出力を参照)

"newaliases" や "sendmail -bi" で更新される、local(8) 配送のエイリアスデータベース。

$alias_maps で指定されるテーブル 全てがローカルファイルである必要はないため、これは別の設定パラメータに なっています。

例:

alias_database = hash:/etc/aliases
alias_database = hash:/etc/mail/aliases
alias_maps (デフォルト: "postconf -d" の出力を参照)

local(8) 配送で使われるエイリアスデータベース。 文法の詳細は aliases(5) を参照してください。

デフォルトのリストはシステムに依存します。NIS を持つシステムでは、 デフォルトではローカルのエイリアスデータベースを検索し、それから NIS エイリアスデータベースを検索します。

エイリアスデータベースを変更したら、"postalias /etc/aliases" (またはシステムがメールエイリアスファイルを保存している場所) を 走らせるか、単に "newaliases" を走らせて必要な DBM または DB ファイルを作ってください。

alias_maps での $1 などの 正規表現による置換はセキュリティホールを開けてしまう可能性があるため、 local(8) 配送エージェントはこれを許しません。

local(8) 配送エージェントは alias_mapsproxymap(8) を使うという要求を静かに 無視します。代わりにテーブルを直接オープンします。Postfixバージョン 2.2以前では、local(8) 配送エージェントは 致命的エラーで終了してしまいます。

例:

alias_maps = hash:/etc/aliases, nis:mail.aliases
alias_maps = hash:/etc/aliases
allow_mail_to_commands (デフォルト: alias, forward)

local(8) が外部コマンドへメールを配送するのを 制限します。デフォルトでは :include: ファイルでの "|command" への配送を 認めません (この用例を定義している文章は aliases(5) を参照してください)。

コマンドを許可するためには、次のうちゼロ個またはそれ以上を指定して ください: aliasforward または include で、 それぞれ aliases(5)、.forward ファイルまたは :include: ファイルでのコマンドを許可します。

例:

allow_mail_to_commands = alias,forward,include
allow_mail_to_files (デフォルト: alias, forward)

local(8) が外部ファイルへメールを配送するのを 制限します。デフォルトでは :include: ファイルで "/file/name" を配送先と するのを認めません (この用例を定義している文章は aliases(5) を 参照してください)。

"/file/name" 配送先を許可するためには、次のうちゼロ個または それ以上を指定してください: aliasforward または include で、それぞれ aliases(5)、 .forward ファイルまたは :include: ファイルで "/file/name" 配送先を許可します。

例:

allow_mail_to_files = alias,forward,include
allow_min_user (デフォルト: no)

受信者アドレスが最初の文字として `-' を持つことを許可します。 コマンドラインでEメールアドレスを渡すソフトウェアでの事故を避ける ため、デフォルトではこれを認めません。そのようなソフトウェアは 悪意のあるアドレスと正しいコマンドラインオプションを区別できない でしょう。これは "--" オプションターミネータをコマンドラインに 入れることで防げますが、一貫して全体に強制するのは困難です。

allow_percent_hack (デフォルト: yes)

"user%domain" の形から "user@domain" への書き換えを有効にします。 これはデフォルトで有効になっています。

注意: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:

Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。

例:

allow_percent_hack = no
allow_untrusted_routing (デフォルト: no)

信頼していないクライアントから $relay_domains に マッチする配送先へ、送信者が指定したルーティング (user[@%!]remote[@%!]site) を 持つメールを転送します。

デフォルトでは、この機能は無効になっています。これはバックアップMX ホストが騙されてジャンクメールをプライマリMXホストに転送してしまい、 spam が世界中に送られてしまうことになる、厄介なオープンリレーの 抜け穴を塞ぎます。

このパラメータは送信者が指定したルーティングを持つ非ローカルアドレスが Postfix access テーブルにマッチできるかどうかも制御します。 デフォルトでは、そのようなアドレスは曖昧であるためPostfix access テーブルにはマッチできません。

alternate_config_directories (デフォルト: empty)

コマンドラインの "-c config_directory" で指定されたり MAIL_CONFIG 環境変数パラメータで指定される、非デフォルトなPostfix設定 ディレクトリのリスト。

このリストはデフォルトのPostfix設定ディレクトリで指定されなければ なりません。またこのリストは postqueue(1)postdrop(1) のようなset-gid されたPostfix コマンドによって使われます。

always_bcc (デフォルト: empty)

Postfixメールシステムが受け取ったメッセージそれぞれの "blind carbon copy" を受け取る、オプションのアドレス。

注意: BCC アドレス宛のメールがバウンスすると、送信者に返されます。

注意: 自動BCC受信者は新しいメールに対してのみ生成されます。 メーラループを避けるために、自動BCC受信者はPostfixが内部で転送する メールやPostfix自身が生成するメールに対しては生成されません。

anvil_rate_time_unit (デフォルト: 60s)

クライアントの接続速度やその他の速度の計算に用いられる単位時間。

この機能は安定版Postfix 2.1 リリースには含まれない anvil(8) サービスに よって実装されています。

デフォルトの間隔はかなり短いです。更新の頻度が高いため、anvil(8) サーバは揮発性メモリしか使いません。つまり、プロセスが終了すると 情報は失われます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

anvil_status_update_time (デフォルト: 600s)

anvil(8) 接続および速度制限サーバが使用量のピーク情報をログに 記録する頻度。

この機能はPostfix 2.2以降で使えます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

append_at_myorigin (デフォルト: yes)

ローカルで投函されたメールで、ドメイン情報のないメールアドレスに文字列 "@$myorigin" を付け加えます。 リモートで投函されたメールには、代わりに文字列 "@$remote_header_rewrite_domain" を付加します。

注意1: この機能はデフォルトで有効になっており、無効にしてはいけません。 Postfixはドメインのないアドレスをサポートしていません。

注意2: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:

Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。

append_dot_mydomain (デフォルト: yes)

ローカルで投函されたメールで、".domain" 情報のないアドレスに文字列 ".$mydomain" を付け加えます。 リモートで投函されたメールには、代わりに文字列 ".$remote_header_rewrite_domain" を付加します。

注意1: この機能はデフォルトで有効になっています。無効にするとユーザは "user@partialdomainname" にメールを送れなくなり、代わりに フルドメイン名を指定しなければならなくなります。

注意2: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:

Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。

application_event_drain_time (デフォルト: 100s)

postkick(1) コマンドがサーバの入力バッファに 入ってくる要求を諦めずに待つ時間の長さ。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

この機能はPostfix 2.1以降で使えます。

authorized_flush_users (デフォルト: static:anyone)

キューのフラッシュを認証されたユーザのリスト。

デフォルトでは、すべてのユーザがキューのフラッシュを許されています。 呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、 アクセスは常に許可されます。それ以外の場合、システムパスワードファイルで プロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば 許可されます。パスワードファイルに実UIDが見つからないプロセスでは、 ユーザ名 "unknown" が使われます。

ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは 空白で区切って指定してください。リストは左から右へと検索され、 最初にマッチしたところで検索を止めます。リストから name を除外するには、 "!name" を指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、 名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。 次の行を空白で始めることで、長い行を継続します。

この機能はPostfix 2.2以降で使えます。

authorized_mailq_users (デフォルト: static:anyone)

キューを見ることが認証されたユーザのリスト。

デフォルトでは、すべてのユーザがキューを見ることが許されています。 呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、 アクセスは常に許可されます。それ以外の場合、システムパスワードファイルで プロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば 許可されます。パスワードファイルに実UIDが見つからないプロセスでは、 ユーザ名 "unknown" が使われます。

ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと 検索され、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。

この機能はPostfix 2.2以降で使えます。

authorized_submit_users (デフォルト: static:anyone)

sendmail(1) コマンド (および特権を持つ postdrop(1) ヘルパーコマンド) で メールを投函することが認証されたユーザのリスト。

デフォルトでは、すべてのユーザがメールの投函を許されています。 それ以外の場合、システムパスワードファイルでプロセスの実UIDが調べられ、 対応するログイン名がアクセスリストにあれば許可されます。 パスワードファイルに実UIDが見つからないプロセスでは、ユーザ名 "unknown" が使われます。

ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと 検索され、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。

この機能はPostfix 2.2以降で使えます。

authorized_verp_clients (デフォルト: $mynetworks)

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" パターンと混乱してしまいます。

backwards_bounce_logfile_compatibility (デフォルト: yes)

Postfixバージョン2.0以前でも読める、追加の bounce(8) ログファイルレコードを生成します。洗練された機能を実装するには現状および より拡張可能な "name = value" という書式が必要です。

この機能はPostfix 2.1以降で使えます。

berkeley_db_create_buffer_size (デフォルト: 16777216)

Berkeley DB hash もしくは btree テーブルを作成するプログラムのための、 テーブルごとの I/O バッファサイズ。バイト数を指定します。

この機能はPostfix 2.0以降で使えます。

berkeley_db_read_buffer_size (デフォルト: 131072)

Berkeley DB hash もしくは btree テーブルを読み込むプログラムのための、 テーブルごとの I/O バッファサイズ。バイト数を指定します。

この機能はPostfix 2.0以降で使えます。

best_mx_transport (デフォルト: empty)

"mail loops back to myself" エラー条件を検出した場合にPostfix クライアントがメールを送るべき場所。これはローカル MTA が $mydestination や $inet_interfaces、 $proxy_interfaces、 $virtual_alias_domains、 $virtual_mailbox_domains にリストアップされていない配送先のSMTPメール交換機の場合に起こります。 デフォルトでは、Postfix SMTPクライアントはそのようなメールを 配送できないものとして返します。

例えば、SMTPクライアントからのメールを local(8) 配送エージェントに渡すには "best_mx_transport = local" を指定します。master.cf に 定義されているメッセージ配送 "transport" または "transport:nexthop" を 指定することもできます。"transport" や "transport:nexthop" の 文法や意味は transport(5) マニュアルページを 参照してください。

しかし、この機能は local(8) 配送エージェントが 仕事をしている間Postfix SMTPクライアントプロセスを拘束してしまうため、 負荷が高くなります。ホスティング しているドメインを全てテーブルやデータベースにリストアップしておくのが (Postfixにとって) より効果的です。

biff (デフォルト: yes)

ローカル biff サービスを使うかどうか。 このサービスは UNIX コマンド "biff y" で 新着メール通知を要求したユーザに "新着メール" 通知を送ります。

互換性の理由から、この機能はデフォルトで有効になっています。 インタラクティブユーザの多いシステムでは、biff サービスがパフォーマンスの浪費になるかもしれません。無効にするには main.cf に "biff = no" を指定します。

body_checks (デフォルト: empty)

body_checks(5) マニュアルページに 書かれているようなコンテンツ検査をおこなう、オプションの検索テーブル。

注意: バージョン 2.0 以前のPostfixでは、これらのルールは最初の メッセージヘッダの後のコンテンツ全てを検査します。

body_checks_size_limit (デフォルト: 51200)

body_checks 検査を受ける メッセージ本体セグメント (もしくは添付、この単語の方がよければ) の テキストの量。テキストの量は巨大な添付ファイルのスキャンを避けるために 制限されます。

この機能はPostfix 2.0以降で使えます。

bounce_notice_recipient (デフォルト: postmaster)

Postfixが配送しなかったメールのヘッダ、およびPostfixが 受け取らなかったメールの SMTP 対話の写しを持つ、ポストマスターへの 通知の受信者。この機能は notify_classes パラメータで有効になっています。

bounce_queue_lifetime (デフォルト: 5d)

配送できないと見なすまでに、バウンスメッセージがキューに入っている 最大の時間。デフォルトでは、通常のメールに対するキューの寿命と同じです。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d (日) です。

メール配送の試行を1回だけにするには 0 を指定します。

この機能はPostfix 2.1以降で使えます。

bounce_service_name (デフォルト: bounce)

bounce(8) サービスの名前。このサービスは 失敗した配送試行の記録を管理し、不達通知を生成します。

この機能はPostfix 2.0以降で使えます。

bounce_size_limit (デフォルト: 50000)

不達通知で送られるオリジナルメッセージテキストの最大量。バイト数を 指定します。この制限を増やしたら、それに比例して mime_nesting_limit の 値も増やすべきです。

broken_sasl_auth_clients (デフォルト: no)

古いバージョンの AUTH コマンド (RFC 2554) を 実装したSMTPクライアントとの相互運用性を有効にします。このような クライアントにはMicroSoft Outlook Expressバージョン4やMicroSoft Exchange バージョン5.0といった例があります。

標準的でない方法の AUTH サポートをPostfixに案内させるには、 "broken_sasl_auth_clients = yes" を指定します。

canonical_classes (デフォルト: envelope_sender, envelope_recipient, header_sender, header_recipient)

canonical_maps アドレスマッピングを受けるアドレス。 デフォルトでは、canonical_maps マッピングはエンベロープ送信者および受信者アドレス、 そしてヘッダ送信者およびヘッダ受信者アドレスに適用されます。

以下の1つ以上を指定します: envelope_sender, envelope_recipient, header_sender, header_recipient

この機能はPostfix 2.2以降で使えます。

canonical_maps (デフォルト: empty)

オプションのメッセージヘッダおよびエンベロープのアドレスマッピング 検索テーブル。マッピングは送信者および受信者アドレスの両方、エンベロープ およびヘッダの両方で、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_service_name (デフォルト: cleanup)

cleanup(8) サービスの名前。このサービスは アドレスを標準的な形式に書き換え、canonical(5) アドレスマッピングと virtual(5) エイリアシングを 実行します。

この機能はPostfix 2.0以降で使えます。

command_directory (デフォルト: "postconf -d" の出力を参照)

全てのPostfix管理コマンドの場所。

command_execution_directory (デフォルト: empty)

外部コマンドへの配送に使う local(8) 配送エージェントのワーキングディレクトリ。ディレクトリの変更に失敗すると 配送は遅延されます。

ディレクトリ変更前に以下の $name 展開が command_execution_directory でなされます。展開は配送要求の段階で起こります。$name 展開の結果は execution_directory_expansion_filter パラメータで指定された文字セットでフィルタリングされます。

$user
受信者のユーザ名。
$shell
受信者のログインシェルパス名。
$home
受信者のホームディレクトリ。
$recipient
完全な受信者アドレス。
$extension
オプションの受信者拡張アドレス。
$domain
受信者のドメイン。
$local
受信者のローカル部分全体。
$recipient_delimiter
システム全体の、受信者拡張アドレスのデリミタ。
${name?value}
\fI$name が空でない場合に \fIvalue に展開されます。
${name:value}
\fI$name が空の場合に \fIvalue に展開されます。

$name の代わりに ${name} や $(name) を指定することもできます。

この機能はPostfix 2.2以降で使えます。

command_expansion_filter (デフォルト: "postconf -d" の出力を参照)

$mailbox_command の $name 展開で local(8) 配送エージェントが許す 文字を制限します。許可されたセット以外の文字はアンダースコアで置き換え られます。

command_time_limit (デフォルト: 1000s)

外部コマンドへの配送の時間制限。この制限は local(8) 配送エージェントによって使われます。また pipe(8) 配送エージェントによる配送のデフォルトの時間制限でもあります。

注意: この時間制限を大きな値に設定するのであれば、一般的な ipc_timeout パラメータも同様に更新しなければいけません。

config_directory (デフォルト: "postconf -d" の出力を参照)

Postfix main.cf および master.cf 設定ファイルのデフォルトの場所。 これは以下のメカニズムを通して上書きされます:

set-gid権限で動くPostfixコマンドでは、config_directory を 上書きするには、root権限でおこなうか、デフォルトの main.cf ファイルの alternate_config_directories パラメータでディレクトリがリストアップされていることが必要です。

connection_cache_service (デフォルト: scache)

scache(8) 接続キャッシュサービスの名前。 このサービスはキャッシュされたセッションの限られた集まりを管理します。

connection_cache_status_update_time (デフォルト: 600s)

論理的な配送先や物理的な端点に対して接続キャッシュのヒットやミスの 割合といった利用統計を scache(8) サーバがログに記録する頻度。

connection_cache_ttl_limit (デフォルト: 2s)

scache(8) 接続キャッシュサーバが許す 最大生存時間の値。より大きなTTLを指定する要求は、最大限許されるTTLで 保存されます。この追加制御は、不注意な人たちから基盤を保護することが目的です。 キャッシュTTLはすでに $max_idle で制限されています。

content_filter (デフォルト: empty)

キューに入った後でメールをフィルタリングするメール配送transportの名前。

このパラメータはPostfix transport(5) テーブルの右側部分と同じ文法を使います。この設定は access(5) テーブルや header_checks(5)body_checks(5) テーブルで指定される コンテンツフィルタよりも優先度は下です。

daemon_directory (デフォルト: "postconf -d" の出力を参照)

Postfixサポートプログラムおよびデーモンプログラムがあるディレクトリ。 これらは人間によって直接呼び出されるべきではありません。ディレクトリは root が所有しなければいけません。

daemon_timeout (デフォルト: 18000s)

ビルトイン監視タイマーによって終了するまでの、Postfixデーモン プロセスが要求を扱うことができる時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

debug_peer_level (デフォルト: 2)

リモートクライアントまたはサーバが debug_peer_list パラメータのパターンにマッチした場合の、冗長ログレベルの増分。

debug_peer_list (デフォルト: empty)

冗長ログレベルを $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
debugger_command (デフォルト: empty)

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
default_database_type (デフォルト: "postconf -d" の出力を参照)

newaliases(1)postalias(1)postmap(1) コマンドで使う、 デフォルトのデータベース形式。多くの UNIX システムでは、デフォルトの 形式は dbmhash のどちらかです。デフォルトの設定は Postfixシステムが構築される際に固定されます。

例:

default_database_type = hash
default_database_type = dbm
default_delivery_slot_cost (デフォルト: 5)

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
default_delivery_slot_discount (デフォルト: 50)

transport に特有の _delivery_slot_discount 設定のデフォルト値。

このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。 要求された配送スロットの量が全て使えるようになるのを待つのではなく、 要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、 割り込みが起こります。後で他の割り込みが起こる場合には、その前に 全量が蓄積していなければいけないことに注意してください。

default_delivery_slot_loan (デフォルト: 3)

transport に特有の _delivery_slot_loan 設定のデフォルト値。

このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。 要求された配送スロットの量が全て使えるようになるのを待つのではなく、 要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、 割り込みが起こります。後で他の割り込みが起こる場合には、その前に 全量が蓄積していなければいけないことに注意してください。

default_destination_concurrency_limit (デフォルト: 20)

同じ配送先への並列配送の、デフォルトの最大数。これは lmtp(8)pipe(8)smtp(8)virtual(8) 配送エージェントを使った配送のデフォルトの制限です。

default_destination_recipient_limit (デフォルト: 50)

メッセージ配送ごとの受信者数の、デフォルトの最大数。これは lmtp(8)pipe(8)smtp(8)virtual(8) 配送エージェントを使った配送のデフォルトの制限です。

このパラメータの値を1に設定すると、対応する配送先ごとの並列制限は ドメインごとの並列度から受信者ごとの並列度へと意味を変えます。

default_extra_recipient_limit (デフォルト: 1000)

transport ごとの予備のメモリ内受信者数に課せられる制限のデフォルト値。 Postfixキューマネージャのスケジューラがあるメッセージに他の メッセージを割り込みが入り、パフォーマンス低下を避けるために 選択されたメッセージが急に余計な受信者スロットを必要とした場合の ために、予備の受信者空間が予約されます。

default_minimum_delivery_slots (デフォルト: 3)

Postfixキューマネージャのスケジューリングアルゴリズムを呼び出さなければ ならなくなる、1メッセージの受信者の数。少なくともこの配送スロット数まで 蓄積していない(スロットコストパラメータの制約も受けます) メッセージは 割り込みを受けません。

default_privs (デフォルト: nobody)

外部ファイルまたはコマンドへの配送で、local(8) 配送エージェントが使うデフォルトの権限。これらの権限は root が 所有する aliases(5) ファイルから配送が 要求されたり、root の代理として配送がなされる際に使われます。 特権ユーザや POSTFIX の所有者を指定してはいけません

default_process_limit (デフォルト: 100)

指定されたサービスを提供するPostfix子プロセスの、デフォルトの最大数。 この制限は master.cf ファイルの特定のサービスに対して上書きできます。

default_rbl_reply (デフォルト: "postconf -d" の出力を参照)

RBL ベースの制限で拒否された要求に対する、デフォルトの SMTPサーバ 応答のテンプレート。このテンプレートはオプションの rbl_reply_maps 検索テーブルのエントリで指定することで上書きできます。

この機能はPostfix 2.0以降で使えます。

テンプレートはちょうど1レベルの $name 置き換えを受けます:

$client
name[address] という書式の、クライアントホスト名とIPアドレス。
$client_address
クライアントのIPアドレス。
$client_name
クライアントのホスト名または "unknown"。
$helo_name
HELO または EHLO コマンドで与えられたホスト名または空文字列。
$rbl_class
ブラックリストに掲載された円ティティの種類: クライアントホストや Helo コマンド、送信者アドレス、受信者アドレス。
$rbl_code
maps_rbl_reject_code 設定パラメータで指定された、数字の SMTP 応答 コード。
$rbl_domain
$rbl_what をブラックリストに掲載している RBL ドメイン。
$rbl_reason
$rbl_what がブラックリストに掲載されている理由、または空文字列。
$rbl_what
ブラックリストに掲載されているエンティティ (ブラックリストに掲載 されているIPアドレスやホスト名、ドメイン名、Eメールアドレス)。
$recipient
受信者アドレスまたは null アドレスの場合には <>。
$recipient_domain
受信者ドメインまたは空文字列。
$recipient_name
受信者アドレスのローカル部分または null アドレスの場合には <>。
$sender
送信者アドレスまたは null アドレスの場合には <>。
$sender_domain
送信者ドメインまたは空文字列。
$sender_name
送信者アドレスのローカル部分または null アドレスの場合には <>。
${name?text}
$name が空でない場合には `text' に展開されます。
${name:text}
$name が空の場合には `text' に展開されます。

$name の代わりに ${name} や $(name) も指定できます。

default_recipient_limit (デフォルト: 10000)

メモリ内受信者数の transport ごとのデフォルトの上限。メッセージが それぞれの transport に割り振られた後は、これらの制限は一般的な qmgr_message_recipient_limit よりも優先されます。 default_extra_recipient_limitqmgr_message_recipient_minimum も 参照してください。

default_transport (デフォルト: smtp)

$mydestination、 $inet_interfaces、$proxy_interfaces、 $virtual_alias_domains、 $virtual_mailbox_domains または $relay_domains に マッチしなかったドメイン宛の、デフォルトのメール配送 transport。 この情報は transport(5) テーブルで 上書きできます。

transport:nexthop という形の文字列を指定します。ここで transport は master.cf に定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。より詳細は transport(5) マニュアルページを参照してください。

例:

default_transport = uucp:relayhostname
default_verp_delimiters (デフォルト: +=)

デフォルトの2つの VERP 区切り文字。これらは SMTP XVERP コマンドや "sendmail -V" コマンドラインオプションで指定された明示的な 区切り文字が指定されていない場合に使われます。verp_delimiter_filter 設定で許可されている文字を指定してください。

この機能はPostfix 1.1 以降で使えます。

defer_code (デフォルト: 450)

リモートSMTPクライアントの要求が "defer" 制限で拒否された場合の、 数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に 理解していないのであれば、これを変更しないでください。

defer_service_name (デフォルト: defer)

defer(8) サービスの名前。このサービスは 失敗した配送試行の記録を管理し、不達通知を生成します。

この機能はPostfix 2.0以降で使えます。

defer_transports (デフォルト: empty)

誰かが "sendmail -q" または等価なものを実行しなければ配送される べきではないメッセージ配送 transport の名前。master.cf の最初の フィールドに現れるメール配送 transport の名前をゼロ個もしくは それ以上指定します。

例:

defer_transports = smtp
delay_notice_recipient (デフォルト: postmaster)

$delay_warning_time 時間単位内に送れなかったメールのメッセージヘッダを持つ、ポストマスターへの 通知の受信者。

この機能は delay_warning_time パラメータで有効になります。

delay_warning_time (デフォルト: 0h)

依然としてキューに入っているメールのメッセージヘッダを送信者が 受け取るまでの時間。

この機能を有効にするには、ゼロ以外の整数値を指定します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は h (時) です。

deliver_lock_attempts (デフォルト: 20)

メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする最大回数。

deliver_lock_delay (デフォルト: 1s)

メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする時間間隔。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

disable_dns_lookups (デフォルト: no)

Postfix SMTPおよびLMTPクライアントでのDNS検索を無効にします。 無効になると、通常は /etc/hosts も検索する gethostbyname() システム ライブラリルーチンを使ってホストが検索されます。

デフォルトではDNS検索は有効になっています。

disable_mime_input_processing (デフォルト: no)

メール受信中の MIME 処理を無効にします。これは Content-Type: メッセージ ヘッダを特別扱いせず、最初のメッセージヘッダの後にある全てのテキストは メッセージ本体の一部と見なされることを意味します。

この機能はPostfix 2.0以降で使えます。

MIME 入力の処理はデフォルトで有効になっており、これはメッセージの 中身で MIME ヘッダを認識するのに必要です。

disable_mime_output_conversion (デフォルト: no)

8BITMIME 形式から 7BIT 形式への変換を無効にします。MIME 出力の変換は 配送先が 8BITMIME サポートを案内しない場合に必要です。

この機能はPostfix 2.0以降で使えます。

disable_verp_bounces (デフォルト: no)

受信者ごとに1つのバウンスレポートを送らないようにします。

受信者ごとに1つというデフォルトは ezmlm が必要としているものです。

この機能はPostfix 1.1 以降で使えます。

disable_vrfy_command (デフォルト: no)

SMTP VRFY コマンドを無効にします。これはEメールアドレス収集に使われる あるテクニックを止めます。

例:

disable_vrfy_command = no
dont_remove (デフォルト: 0)

キューファイルを削除せずに、それらを "saved" メールキューに保存します。 これはデバッグを助けます。エンベロープ情報やPostfixキューファイルの 中身を調べるには、postcat(1) コマンドを 使ってください。

double_bounce_sender (デフォルト: double-bounce)

メールシステムによって生成されるポストマスターへの通知の送信者アドレス。 このアドレスへの全てのメールは、メールバウンスループを終わらせるために、 静かに破棄されます。

duplicate_filter_limit (デフォルト: 1000)

aliases(5) または virtual(5) エイリアスの展開や showq(8) キューの 表示に対して、アドレス複製フィルタが記憶するアドレスの最大数。

empty_address_recipient (デフォルト: MAILER-DAEMON)

null アドレス宛のメールの受信者。Postfixはそのようなアドレスを SMTP コマンドでは受けませんが、設定やソフトウェアエラーの結果として ローカルで生成される可能性があります。

enable_errors_to (デフォルト: no)

エンベロープ送信者アドレスの代わりに、非標準的な Error-To: メッセージ ヘッダで指定されたアドレスにメール配送エラーを報告します (この機能はPostfix 2.2では削除され、Postfix 2.1以降ではこのサポートは デフォルトで無効になっており、それ以前のバージョンの Potfix では 常に有効です)。

enable_original_recipient (デフォルト: yes)

X-Original-To メッセージヘッダのサポートを有効にします。このヘッダは 受信者が複数いるメールボックスに必要です。

このパラメータが yes に設定されていると、cleanup(8) デーモンは (元の受信者、書き換えられた受信者) の厳密な組み合わせの重複を なくし、元の受信者が空ではないキューファイル記録を生成します。

このパラメータが no に設定されていると、cleanup(8) デーモンは書き換えられた受信者アドレスだけの重複をなくし、元の受信者が空の キューファイル記録を生成します。

この機能はPostfix 2.1以降で使えます。Postfix 2.0 では、X-Original-To メッセージヘッダのサポートは常に有効です。2.0 以前のバージョンの Postfixでは、X-Original-To メッセージヘッダのサポートはありません。

error_notice_recipient (デフォルト: postmaster)

ポリシー、リソース、ソフトウェアまたはプロトコルエラーによって 起きたメール配送問題に関するポストマスターへの通知の受信者。これらの 通知は notify_classes パラメータで有効にされます。

error_service_name (デフォルト: error)

error(8) 疑似配送エージェントの名前。この サービスは常にメールを配送できないものとして返します。

この機能はPostfix 2.0以降で使えます。

execution_directory_expansion_filter (デフォルト: "postconf -d" の出力を参照)

local(8) 配送エージェントが $command_execution_directory の $name 展開で許す文字を制限します。許可されたセット以外の文字は アンダースコアで置き換えられます。

この機能はPostfix 2.2以降で使えます。

expand_owner_alias (デフォルト: no)

対応する "owner-aliasname" エイリアスを持つエイリアス "aliasname" への 配送時に、エンベロープ送信者アドレスとして "owner-aliasname" エイリアスを展開したものをセットします。通常は、Postfixはエンベロープ 送信者アドレスを "owner-aliases" エイリアスの名前にセットします。

export_environment (デフォルト: "postconf -d" の出力を参照)

Postfixプロセスが非Postfixプロセスに渡す環境変数のリスト。 System-V 系のシステムで時間を健全に保つには TZ 変数が必要です。

名前や name=value の組を空白またはカンマで区切ったリストを指定します。 name=value の形式はPostfix 2.1以降でサポートされています。

例:

export_environment = TZ PATH=/bin:/usr/bin
extract_recipient_limit (デフォルト: 10240)

メールが "sendmail -t" で投函された際に、Postfixがメッセージヘッダから 抽出する受信者アドレスの最大数。

この機能はPostfix 2.1 で削られました。

fallback_relay (デフォルト: empty)

見つからなかったり到達できない SMTP 配送先への、オプションのリレー ホストのリスト。

デフォルトでは、配送先が見つからない場合にはメールは送信者に返され、 配送先に到達できない場合には配送が遅延されます。

fallback relayはSMTPによる配送先でなければいけません。ドメイン、 ホスト、host:port、[host]:port、[address] または [address]:port を 指定します; [host] の形式はMX検索を無効にします。複数のSMTP 配送先を指定すると、Postfixは指定された順でそれらを試します。

注意: バックアップまたはプライマリMXドメインにメールをリレーする 場合には、fallback_relay 機能を使ってはいけません。最終配送先が使えないと、Postfix MXホストと fallback_relay の間で メールがループしてしまいます。

これらはPostfixバージョン2.2以降でのデフォルト設定です。

fallback_transport (デフォルト: empty)

aliases(5) データベースや UNIX passwd データベースに名前が見つからない場合に、local(8) 配送エージェントが使う、オプションのメッセージ配送transport。

fast_flush_domains (デフォルト: $relay_domains)

配送先ごとのログファイルに適格な配送先で、それらの配送先宛のキューに 入ったメールを持つものの、オプションのリスト。

デフォルトでは、PostfixはPostfix SMTPサーバがリレーしようとする 配送先に対してのみ、"高速flush" ログファイルを管理します (すなわち デフォルトは "fast_flush_domains = $relay_domains"; postconf(5) マニュアルの relay_domains パラメータを 参照してください)。

ホストまたはドメイン、"/file/name" パターン、"type:table" 検索テーブルを カンマや空白で区切って指定してください。次の行を空白で始めることで 長い行を継続します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはドメイン またはその親ドメインが検索キーとして現れるとマッチします。

この機能を完全に無効にするには "fast_flush_domains =" (つまり空) を指定します。

fast_flush_purge_time (デフォルト: 7d)

空の配送先ごとの "高速 flush" ログファイルが削除されるまでの時間。

数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は日です。

fast_flush_refresh_time (デフォルト: 12h)

空ではないが読まれていない 配送先ごとの "高速 flush" ログファイルの 更新が必要となるまでの時間。ログファイルの内容はログファイルに リストアップされた全てのメッセージの配送を要求することで更新されます。

数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は時間です。

fault_injection_code (デフォルト: 0)

内部テストの失敗がないと再現が難しいエラーの扱いをテストするため、 特定の内部テストの失敗を強制します。

flush_service_name (デフォルト: flush)

flush(8) サービスの名前。このサービスはキューに 入っているメールのキューファイル名を持つ配送先ごとのログファイルを 管理します。

この機能はPostfix 2.0以降で使えます。

fork_attempts (デフォルト: 5)

子プロセスを fork() しようとする最大回数。

fork_delay (デフォルト: 1s)

子プロセスの fork() 試行間に入れる遅延。

時間単位: s (秒), m (分), h (時間), d (日), w (週)。デフォルトの 時間単位は s (秒) です。

forward_expansion_filter (デフォルト: "postconf -d" の出力を参照)

$forward_path の $name 展開で local(8) 配送エージェントが許す文字を制限 します。許可されたセット以外の文字はアンダースコアで置き換えられます。

forward_path (デフォルト: "postconf -d" の出力を参照)

ユーザが指定した配送方法が書かれた .forward ファイルを見つけるための、 local(8) 配送エージェント検索リスト。最初に 見つかったファイルが使われます。

実際に検索を始める前に、forward_path では以下のように $name が展開されます。$name 展開の結果は forward_expansion_filter パラメータで指定された文字セットでフィルタリングされます。

$user
受信者のユーザ名。
$shell
受信者のログインシェルのパス名。
$home
受信者のホームディレクトリ。
$recipient
完全な受信者アドレス。
$extension
オプションの受信者アドレスの拡張部分。
$domain
受信者のドメイン。
$local
受信者のローカル部分全体。
$recipient_delimiter
システム全体にわたる受信者の拡張アドレスの区切り文字。
${name?value}
$name が空でない場合、value に展開されます。
${name:value}
$name が空の場合、value に展開されます。

$name の代わりに ${name} や $(name) も指定できます。

例:

forward_path = /var/forward/$user
forward_path =
    /var/forward/$user/.forward$recipient_delimiter$extension,
    /var/forward/$user/.forward
hash_queue_depth (デフォルト: 1)

hash_queue_names パラメータに リストアップされたキューディレクトリの、サブディレクトリレベル数。

hash_queue_names または hash_queue_depth パラメータの 変更後は、コマンド "postfix reload" を実行してください。

hash_queue_names (デフォルト: deferred, defer)

複数のサブディレクトリレベルにわたって分割されるキューディレクトリの 名前。

Postfixバージョン2.2以前では、ハッシュされたキューのデフォルトリストは 非常に大きなものでした。ファイルシステム技術の向上に関する要求は、 improvements in file system + technology suggest that hashing of the incoming および active queues キューは 今となっては不要であることを示唆しています。ハッシュ化したディレクトリを 少なくすると、Postfixを再起動するのに必要な時間の高速化になります。

hash_queue_names または hash_queue_depth パラメータの 変更後は、コマンド "postfix reload" を実行してください。

header_address_token_limit (デフォルト: 10240)

アドレスメッセージヘッダ内で許されるアドレストークンの最大数。 制限を超えた情報は破棄されます。 この制限は cleanup(8) サーバによって強制されます。

header_checks (デフォルト: empty)

header_checks(5) マニュアルページに 書かれているような、非MIMEな最初のメッセージヘッダのコンテンツ検査を おこなう、オプションの検索テーブル。

header_size_limit (デフォルト: 102400)

メッセージヘッダを格納するメモリの、バイト単位の最大量。 それよりもヘッダが大きい場合、超過分は破棄されます。この制限は cleanup(8) サーバによって強制されます。

helpful_warnings (デフォルト: yes)

問題のある設定をログで警告し、参考になる忠告を提供します。

この機能はPostfix 2.0以降で使えます。

home_mailbox (デフォルト: empty)

オプションのメールボックスファイルの local(8) ユーザのホームディレクトリからの相対パス名。

qmail 形式の配送をするには、"/" で終わるパス名を指定します。

local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport そして luser_relay

例:

home_mailbox = Mailbox
home_mailbox = Maildir/
hopcount_limit (デフォルト: 50)

最初のメッセージヘッダで許される Received: メッセージヘッダの最大数。 制限を超えたメッセージはメーラループを止めるためにバウンスされます。

html_directory (デフォルト: "postconf -d" の出力を参照)

Postfixサブシステムや機能に関する構築方法や設定方法、操作方法が 書かれたPostfix HTMLファイルの場所。

ignore_mx_lookup_error (デフォルト: no)

応答しないDNS MX検索を無視します。デフォルトでは、Postfix SMTP クライアントは配送を遅延し、しばらくしてから再試行します。 この振る舞いは SMTP 標準によって要求されています。

代わりにDNS Aレコード検索を強制するには、 "ignore_mx_lookup_error = yes" を指定してください。これは SMTP 標準からはずれており、メールの配送ミスを起こす可能性があります。

import_environment (デフォルト: "postconf -d" の出力を参照)

Postfixプロセスが非Postfix親プロセスから受け取る環境変数 パラメータのリスト。関連するパラメータの例:

TZ
ほとんどの System-V 系システムで時間を正確に保つのに必要です。
DISPLAY
X-windows デバッガでPostfixデーモンをデバッグするのに必要です。
XAUTHORITY
X-windows デバッガでPostfixデーモンをデバッグするのに必要です。
MAIL_CONFIG
"postfix -c" を動かすのに必要です。

名前や name=value の組のリストを空白またはカンマで区切って指定します。 name=value 形式はPostfix 2.1以降でサポートされています。

in_flow_delay (デフォルト: 1s)

メッセージ到着速度がメッセージ配送速度を超えた場合に、新しいメッセージを 受ける前に一時停止する時間。この機能はデフォルトで有効になっています (SCO バグのため、SCO UNIX では無効にされています)。

デフォルトの 100 SMTPサーバプロセス制限では、"in_flow_delay = 1s" は1秒あたりのメッセージ配送数を超えて入ってくるメールを 毎秒 100 メッセージに制限します。

この機能を無効にするには 0 を指定します。有効な遅延は 0..10 です。

inet_interfaces (デフォルト: all)

このメールシステムがメールを受け取るネットワークインターフェース アドレス。"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アドレスも同じホストにあるとわからせることで、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
inet_protocols (デフォルト: ipv4)

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
initial_destination_concurrency (デフォルト: 5)

同じ配送先に並列で配送する際の、配送先ごとの並列度の初期値。この制限は smtp(8) を使った配送や、pipe(8)virtual(8) 配送エージェントを使った配送に 適用されます。

警告: 並列度を 1 にすると、悪いメッセージが1つあるだけであるサイトへの 全てのメールを止めてしまうことになりかねません。

invalid_hostname_reject_code (デフォルト: 501)

クライアントの HELO または EHLO コマンドパラメータが reject_invalid_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821を完全に理解して いないのであれば、これを変更しないでください。

ipc_idle (デフォルト: 100s)

アイドル状態になっている内部接続チャネルをクライアントが閉じるまでの 時間。これはサーバがアイドル状態になったあとで、自主的に終了できる ようにすることが目的です。これは例えばアドレス解決および書き換え クライアントによって使われます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

ipc_timeout (デフォルト: 3600s)

内部通信チャネルを通して情報を送受信する際の時間制限。これは デッドロック状態を打破するのが目的です。制限時間を超えると、 ソフトウェアは致命的エラーを出して強制終了します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

ipc_ttl (デフォルト: 1000s)

アクティブな内部通信チャネルをクライアントが閉じるまでの時間。これは クライアントが制限に達した際に、サーバが自主的に終了できるように することが目的です。これは例えばアドレス解決および書き換え クライアントによって使われます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

この機能はPostfix 2.1以降で使えます。

line_length_limit (デフォルト: 2048)

入力時に、長い行は最大でこの長さの断片に分けられます; 配送時には 長い行は再構築されます。

lmtp_cache_connection (デフォルト: yes)

$max_idle 秒になるまでPostfix LMTP クライアントの接続を開いたままにします。LMTPクライアントが同じ接続を 要求された際に、接続は再利用されます。

キャッシュされた接続の効率は使用中のLMTPサーバの数とLMTP クライアントに対して指定された並列度の制限によって決まります。 キャッシュされた接続は以下のいずれかの条件で閉じられます:

これらの制限の多くはPostfixが複数のLMTPクライアントプログラムで 共有する接続キャッシュを実装したときになくなる予定です。

lmtp_connect_timeout (デフォルト: 0s)

TCP接続を完了するまでの LMTPクライアントの時間制限、またはゼロ (オペレーティングシステムのビルトイン時間制限を使います)。期限までに 接続できないと、LMTPクライアントはメール交換機リストの次のアドレスを 試行します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

例:

lmtp_connect_timeout = 30s
lmtp_data_done_timeout (デフォルト: 600s)

LMTP "." を送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。期限までに応答を受けないと、メールが複数回配送されるかも しれないという警告がログに記録されます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_data_init_timeout (デフォルト: 120s)

LMTP DATA コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_data_xfer_timeout (デフォルト: 180s)

LMTPメッセージコンテンツを送る際のLMTPクライアントの時間制限。 接続が $lmtp_data_xfer_timeout 以上の時間行き詰まると、LMTPクライアントは転送を終了します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_destination_concurrency_limit (デフォルト: $default_destination_concurrency_limit)

lmtp メッセージ配送 transport を使った同じ配送先への並列配送の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。

lmtp_destination_recipient_limit (デフォルト: $default_destination_recipient_limit)

lmtp メッセージ配送 transport を使った、配送ごとの受信者の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。

このパラメータの値を1に設定すると、lmtp_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。

lmtp_lhlo_timeout (デフォルト: 300s)

LMTPグリーティングバナーを受け取るまでのLMTPクライアントの時間制限。 サーバがグリーティングバナーを送らずに接続を落としたり、期限までに グリーティングバナーを送らないと、LMTPクライアントはメール交換機 リストの次のアドレスを試行します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_mail_timeout (デフォルト: 300s)

MAIL FROM コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_quit_timeout (デフォルト: 300s)

QUIT コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_rcpt_timeout (デフォルト: 300s)

RCPT TO コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_rset_timeout (デフォルト: 20s)

RSET コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。LMTPクライアントは受信者アドレス探査を終わらせるためや、 キャッシュされた接続がまだ生きているかどうかを確認するために RSET を送ります。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

lmtp_sasl_auth_enable (デフォルト: no)

Postfix LMTPクライアントのSASL認証を有効にします。

lmtp_sasl_password_maps (デフォルト: empty)

ホストまたはドメインごとに1つの username:password エントリを持つ、 オプションの LMTPクライアント検索テーブル。リモートホストや リモートドメインの username:password エントリがない場合、Postfix LMTP クライアントはそのリモートホストに対して認証を試そうとしません。

lmtp_sasl_security_options (デフォルト: noplaintext, noanonymous)

Postfix LMTPクライアントで使うことが許される認証メカニズム。 使用できる認証メカニズムのリストはシステムに依存します。

noplaintext
平文パスワードを使う認証方法を許可しません。
noactive
non-dictionary active 攻撃に脆弱な認証方法を許可しません。
nodictionary
passive dictionary 攻撃に脆弱な認証方法を許可しません。
noanonymous
匿名ログインを許可しません。

例:

lmtp_sasl_security_options = noplaintext
lmtp_send_xforward_command (デフォルト: no)

LMTP LHLOサーバ応答が XFORWARD サポートを通知した場合に、LMTPサーバに XFORWARD コマンドを送ります。これはコンテンツフィルタによるメッセージの 差し挟みに使われる lmtp(8) 配送エージェントが 元のクライアントの名前やアドレス、プロトコル、HELO名をコンテンツ フィルタや下流でキューイングするLMTPサーバに転送できるようにします。 値を yes に変更する前に、コンテンツフィルタがこのコマンドをサポート しているか確認するのがよいでしょう。

この機能はPostfix 2.1以降で使えます。

lmtp_skip_quit_response (デフォルト: no)

LMTP QUIT コマンドへの応答を待ちます。

lmtp_tcp_port (デフォルト: 24)

Postfix LMTPクライアントが接続する、デフォルトのTCPポート。

lmtp_xforward_timeout (デフォルト: 300s)

XFORWARD コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。

問題が起こった場合、クライアントはメール交換機リストの次のアドレスを 「試しません」。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

この機能はPostfix 2.1以降で使えます。

local_command_shell (デフォルト: empty)

local(8) が非Postfixコマンドに配送する際の、 オプションのシェルプログラム。デフォルトでは、非Postfixコマンドは直接 実行されます; コマンドがシェルのメタ文字やシェルビルトインコマンドを 含んでいる場合に限り、コマンドは /bin/sh に与えられます。

"sendmail's restricted shell" (smrsh) は例えば .forward ファイルから 実行できるプログラムを制限するために、最も多くの人が使うものでしょう (smrsh は Sendmail 配布物の一部です)。

注意: シェルプログラムが指定されると、コマンドがシェルビルトイン コマンドやメタ文字を含んでいない場合でもそれが呼ばれます。

例:

local_command_shell = /some/where/smrsh -c
local_destination_concurrency_limit (デフォルト: 2)

local メール配送 transport を使った同じ受信者への並列配送の最大数 ("local_destination_recipient_limit = 1" の場合)、または同じローカルドメインへの並列配送の最大数 ("local_destination_recipient_limit > 1" の場合)。この制限はキュー マネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。

.forward ファイルやエイリアスに (メーリングリストマネージャのような) 負荷の高いシェルコマンドがある場合だけに備えた、2という低い制限が 推奨されます。同時にこれらをたくさん動かす必要はないでしょう。

local_destination_recipient_limit (デフォルト: 1)

local メール配送 transport を使ったメッセージ配送ごとの、最大の 受信者数。この制限はキューマネージャによって強制されます。 メッセージ配送 transport の名前は master.cf ファイルのエントリの 最初のフィールドです。

このパラメータを1より大きい値に変更すると、 local_destination_concurrency_limit の意味が受信者ごとの並列度から ドメインごとの並列度に変わります。

local_header_rewrite_clients (デフォルト: permit_inet_interfa ces)

これらのクライアントから来たメールのメッセージヘッダアドレスを書き換え、 不完全なアドレスに $myorigin や $mydomain を付けて更新します; 他のクライアントからのメッセージヘッダは一切書き換えないか、 メッセージヘッダを書き換えて不完全なアドレスに remote_header_rewrite_domain パラメータで指定されたドメインを付けて更新するかのどちらかです。

不完全なアドレスにドメイン名を付加する方法の詳細は、 append_at_myorigin および append_dot_mydomain パラメータを参照してください。

以下のうち、ゼロ個以上のリストを指定してください:

permit_inet_interfaces
クライアントIPアドレスが $inet_interfaces にマッチしたら、 $myorigin または $mydomain のドメイン名を付加します。これはデフォルトで有効になっています。
permit_mynetworks
クライアントIPアドレスが $mynetworks にリストアップされた ネットワークもしくはネットワークアドレスのいずれかにマッチしたら、 $myorigin または $mydomain のドメイン名を付加します。この設定はリモートクライアントからのメールが 近隣システムによって転送された場合のメールヘッダアドレスの書き換えは 妨げません。
permit_sasl_authenticated
クライアントが RFC 2554 (AUTH) プロトコルでの認証に成功した場合に、 $myorigin または $mydomain のドメイン名を付加します。
permit_tls_clientcerts
クライアントTLS証明書の検証に成功し、クライアント証明書の フィンガープリントが $relay_clientcerts にリストアップされている場合に、 $myorigin または $mydomain のドメイン名を付加します。
permit_tls_all_clientcerts
クライアントTLS証明書の検証に成功した場合、それがサーバにリストアップ されているかや認証局に関わらず、$myorigin または $mydomain のドメイン名を 付加します。
check_address_map type:table
type:table
クライアントIPアドレスが指定された検索テーブルにマッチしたら、 $myorigin または $mydomain のドメイン名を付加します。検索結果は無視され、またサブネット検索は おこなわれません。これは例えばpop-before-smtp検索テーブルに適しています。

例:

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
local_recipient_maps (デフォルト: proxy:unix:passwd.byname $alias_maps)

ローカル受信者の全ての名前もしくはアドレスを持つ検索テーブル: ドメインが $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 =
local_transport (デフォルト: local:$myhostname)

$mydestination、$inet_interfaces または $proxy_interfaces に マッチするドメイン宛の、デフォルトのメール配送transport。この情報は transport(5) テーブルで上書きできます。

デフォルトでは、ローカルメールは単に master.cf ファイルで定義された サービスの名前である "local" という transport に配送されます。

transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照してください。

注意: デフォルトの local 配送エージェントを上書きするのであれば、 LOCAL_RECIPIENT_README ドキュメントを 再検討する必要があります。そうしないと、SMTPサーバはローカルの受信者宛の メールを拒否してしまうかもしれません。

luser_relay (デフォルト: empty)

知らない local(8) 受信者全ての、オプションの 配送先。デフォルトでは、$mydestination や $inet_interfaces、$proxy_interfaces に マッチするドメインの知らない受信者宛のメールは、配送できないものとして 返されます。

luser_relay では以下の $name 展開がおこなわれます:

$domain
受信者のドメイン。
$extension
受信者の拡張アドレス。
$home
受信者のホームディレクトリ。
$local
受信者アドレスのローカル部分全体。
$recipient
完全な受信者アドレス。
$recipient_delimiter
システム全体にわたる受信者の拡張アドレスの区切り文字。
$shell
受信者のログインシェル。
$user
受信者のユーザ名。
${name?value}
$name が空でない場合、value に展開されます。
${name:value}
$name が空の場合、value に展開されます。

$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
mail_name (デフォルト: Postfix)

Received: ヘッダや SMTP グリーティングバナー、バウンスされたメールに 表示されるメールシステム名。

mail_owner (デフォルト: postfix)

PostfixキューおよびほとんどのPostfixデーモンプロセスを所有する UNIX システムアカウント。他のアカウントとグループを共有せず、システムの 他のファイルやシステムを所有しないユーザアカウント名を指定します。 特に、nobody や daemon を指定しないでください。「専用のユーザIDと グループIDを使ってください。」

このパラメータ値を変更したら、"postfix set-permissions" (Postfix 2.0以前では: "/etc/postfix/post-install set-permissions") を 再度実行する必要があります。

mail_release_date (デフォルト: "postconf -d" の出力を参照)

"YYYYMMDD" 形式のPostfixリリース日。

mail_spool_directory (デフォルト: "postconf -d" の出力を参照)

local(8) UNIX形式のメールボックスが置かれる ディレクトリ。デフォルトの設定はシステムの種類に依存します。maildir 形式で 配送するには、/ で終わる名前を指定します。

注意: maildir 配送は受信者の権限でおこなわれます。maildir 形式の配送で mail_spool_directory 設定を 使う場合、前もってトップレベルの maildir ディレクトリを作らなければ いけません。Postfixは作りません。

例:

mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail
mail_version (デフォルト: "postconf -d" の出力を参照)

メールシステムのバージョン。安定版は major.minor.patchlevel のように付けられています。 試験版はリリース日も含んでいます。バージョン文字列は、例えば SMTP グリーティングバナーで使われるかもしれません。

mailbox_command (デフォルト: empty)

メールボックス配送に local(8) 配送エージェントが 使う、オプションの外部コマンド。コマンドは受信者のユーザIDと主となる グループID権限で動きます。例外: root宛のコマンド配送は $default_privs 権限で実行します。1) root宛のメールは実在ユーザにエイリアスされるべきであり、 2) rootとしてログインせず "su" を使うべきなので、これは問題ではありません。

以下の環境変数がコマンドに渡されます:

CLIENT_ADDRESS
リモートクライアントネットワークアドレス。 Postfix 2.2以降で使えます。
CLIENT_HELO
リモートクライアント EHLO コマンドパラメータ。 Postfix 2.2以降で使えます。
CLIENT_HOSTNAME
リモートクライアントホスト名。Postfix 2.2以降で使えます。
CLIENT_PROTOCOL
リモートクライアントプロトコル。Postfix 2.2以降で使えます。
DOMAIN
受信者アドレスのドメイン部分。
EXTENSION
オプションの拡張アドレス。
HOME
受信者のホームディレクトリ。
LOCAL
受信者アドレスのローカル部分。
LOGNAME
受信者のユーザ名。
RECIPIENT
完全な受信者アドレス。
SASL_METHOD
リモートクライアント AUTH コマンドで指定されたSASL認証の方法。 Postfix 2.2以降で使えます。
SASL_SENDER
リモートクライアント MAIL FROM コマンドで指定されたSASL送信者アドレス。 Postfix 2.2以降で使えます。
SASL_USER
リモートクライアント AUTH コマンドで指定されたSASLユーザ名。 Postfix 2.2以降で使えます。
SENDER
完全な送信者アドレス。
SHELL
受信者のログインシェル。
USER
受信者のユーザ名。

他のPostfix設定パラメータとは異なり、mailbox_command パラメータは $name の置換を受けません。これはシェル文法の指定を容易に するためです (例を参照)。

シェルのメタ文字があると、Postfixは負荷の高いシェルプロセスを 走らせなければならなくなるため、できるだけ避けてください。Procmail を 使って配送しているのであれば、全体の負荷としてシェルでも大差 ないでしょう。

注意: システム全体のメール配送に mailbox_command 機能を使うのであれば、root宛のメールを実在のユーザに転送するようなエイリアスを 作らなければいけません。

local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport そして luser_relay

例:

mailbox_command = /some/where/procmail
mailbox_command = /some/where/procmail -a "$EXTENSION"
mailbox_command = /some/where/maildrop -d "$USER"
        -f "$SENDER" "$EXTENSION"
mailbox_command_maps (デフォルト: empty)

local(8) メールボックス配送で使われる、受信者ごとの 外部コマンドを持つ、オプションの検索テーブル。振る舞いは mailbox_command での指定と同じです。

local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport そして luser_relay

mailbox_delivery_lock (デフォルト: "postconf -d" の出力を参照)

配送しようとする前に UNIX 形式の local(8) メールボックスにロックする方法。利用可能なファイルロック方法をリストアップ するには、"postconf -l" コマンドを使ってください。

maildir 形式の配送では明示的なロックなしでも安全であるため、 この設定は無視されます。

注意: dotlock 方式では、メールボックスファイルの親ディレクトリに 受信者の UID または GID の書き込み権が必要です。

注意: このパラメータのデフォルトの設定はシステムに依存します。

mailbox_size_limit (デフォルト: 51200000)

local(8) の個々のメールボックスまたは maildir の 最大サイズ、もしくはゼロ (制限なし)。実際には、これは local(8) 配送エージェントによって実行される外部コマンドが書き込むファイルも含めて、 ローカル配送で書かれるあらゆるファイルのサイズを制限します。

この制限はメッセージサイズ制限よりも小さくしてはいけません。

mailbox_transport (デフォルト: empty)

UNIX passwd データベースでの有無にかかわらず、全てのローカル受信者への メールボックス配送に local(8) 配送エージェントが 使う、オプションのメッセージ配送 transport。

local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport そして luser_relay

mailq_path (デフォルト: "postconf -d" の出力を参照)

Postfix mailq(1) コマンドがインストールされた 場所を指定するSendmail互換機能。このコマンドはPostfixメールキューを リストアップするのに使われます。

manpage_directory (デフォルト: "postconf -d" の出力を参照)

Postfixマニュアルページがインストールされた場所。

maps_rbl_domains (デフォルト: empty)

古い機能: 代わりに reject_rbl_client 機能を使ってください。

maps_rbl_reject_code (デフォルト: 554)

リモートSMTPクライアントの要求が reject_rbl_clientreject_rhsbl_clientreject_rhsbl_senderreject_rhsbl_recipient 制限で ブロックされた場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821を完全に理解して いないのであれば、これを変更しないでください。

masquerade_classes (デフォルト: envelope_sender, header_sender, header_recipient)

アドレスマスカレードを受けるアドレスの種類。

デフォルトでは、アドレスマスカレードはエンベロープ送信者アドレス、 およびヘッダ送信者・ヘッダ受信者アドレスに制限されます。 これにより、個々のマシンのユーザにメールを転送できるようにしたままで、 メールゲートウェイ上でアドレスマスカレードが使えるようになります。

次のゼロ個もしくはそれ以上を指定してください: envelope_sender、 envelope_recipient、header_sender、header_recipient

masquerade_domains (デフォルト: empty)

Eメールアドレスのサブドメイン構造が削られるドメインの、オプションの リスト。

リストは左から右へと処理され、最初にマッチしたところで処理を止めます。 つまり、

    masquerade_domains = foo.example.com example.com

は "user@any.thing.foo.example.com" を "user@foo.example.com" までしか削りませんが、"user@any.thing.else.example.com" を "user@example.com" に削ります。

ドメイン名の前に ! をつけると、そのドメインやサブドメインはマスカレード しないことを意味します。つまり、

    masquerade_domains = !foo.example.com example.com

は "user@any.thing.foo.example.com" や "user@foo.example.com" を変化 させませんがer@any.thing.else.example.com" を "user@example.com" へと 削ります。

注意: Postfixバージョン2.2では、メッセージヘッダマスカレードはメッセージ ヘッダアドレスの書き換えが有効になっている場合にのみなされます:

Postfix 2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。

例:

masquerade_domains = $mydomain
masquerade_exceptions (デフォルト: empty)

$masquerade_domains に マッチしてもアドレスマスカレードを受けないユーザ名の、オプションのリスト。

デフォルトでは、アドレスマスカレードは例外を作りません。

ユーザ名、"/file/name" または "type:table" パターンを空白やカンマで区切ったリストを指定します。リストは左から右へと マッチし、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは name が検索キーにマッチするとマッチします (検索結果は無視されます)。 次の行を空白で始めることで長い行を継続します。

例:

masquerade_exceptions = root, mailer-daemon
masquerade_exceptions = root
max_idle (デフォルト: 100s)

Postfixデーモンプロセスが終了するまでに次のサービス要求を待つ最大時間。 Postfixキューマネージャはこのパラメータを無視します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

max_use (デフォルト: 100)

Postfixデーモンプロセスが終了するまでの接続要求の最大数。Postfix キューマネージャや他の長生きなPostfixデーモンプロセスはこの パラメータを無視します。

maximal_backoff_time (デフォルト: 4000s)

遅延メッセージの配送を試行する最大の時間間隔。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

maximal_queue_lifetime (デフォルト: 5d)

配送できないものとして送り返すまでに、メッセージがキューに入っている 最大の時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d(日) です。

配送を1度だけしか試さないようにするのであれば、0 を指定します。

message_size_limit (デフォルト: 10240000)

エンベロープ情報を含む、バイト単位のメッセージの最大サイズ。

mime_boundary_length_limit (デフォルト: 2048)

MIMEマルチパート境界文字列の最大長。MIMEプロセッサは最初の $mime_boundary_length_limit 文字が異ならない境界文字列を区別することができません。

この機能はPostfix 2.0以降で使えます。

mime_header_checks (デフォルト: $header_checks)

header_checks(5) マニュアルページに 書かれているような、MIMEに関連したメッセージヘッダのコンテンツ検査をおこなう、 オプションの検索テーブル。

この機能はPostfix 2.0以降で使えます。

mime_nesting_limit (デフォルト: 100)

MIME処理で扱う最大の再帰レベル。Postfixは指定された制限よりも ネストが深いメールを拒否します。

この機能はPostfix 2.0以降で使えます。

minimal_backoff_time (デフォルト: 1000s)

遅延メッセージの配送を試行する最小の時間間隔。このパラメータは到達 できない配送先が短期間・メモリ内配送状態キャッシュに保持される時間も 制限します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

multi_recipient_bounce_reject_code (デフォルト: 550)

リモートSMTPクライアントの要求が reject_multi_recipient_bounce 制限でブロックされた場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821を完全に理解して いないのであれば、これを変更しないでください。

この機能はPostfix 2.1以降で使えます。

mydestination (デフォルト: $myhostname, localhost.$mydomain, localhost)

$local_transport メール配送 transport を使って配送されるドメインのリスト。デフォルトではこれは /etc/passwd および /etc/aliases の全ての受信者を検索するPostfix local(8) 配送エージェントです。SMTPサーバは受信者アドレスを $local_recipient_maps で 確認し、存在しない受信者を拒否します。ADDRESS_CLASS_README ファイルのローカルドメインクラスも 参照してください。

デフォルトの mydestination 値は ローカルマシンの名前だけを指定しています。メールドメインゲートウェイ上では、 $mydomain も含むべきでしょう。

$local_transport 配送方法は、 メールシステムの user@[the.net.work.address] (IPアドレスは inet_interfaces および proxy_interfaces パラメータで指定されているもの) 宛のメールアドレスでも選ばれます。

警告:

ユーザ名、"/file/name" または "type:table" パターンを空白やカンマで区切ったリストを指定します。リストは左から右へと マッチし、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは name が検索キーにマッチするとマッチします (検索結果は無視されます)。次の行を 空白で始めることで長い行を継続します。

例:

mydestination = $myhostname, localhost.$mydomain $mydomain
mydestination = $myhostname, localhost.$mydomain www.$mydomain, ftp.$mydomain
mydomain (デフォルト: "postconf -d" の出力を参照)

このメールシステムのインターネットドメイン名。デフォルトでは $myhostname から最初の要素を 引いたものを使います。$mydomain は 他の多くの設定パラメータのデフォルト値として使われます。

例:

mydomain = domain.tld
myhostname (デフォルト: "postconf -d" の出力を参照)

このメールシステムのインターネットホスト名。デフォルトでは gethostname() から得た完全修飾ドメイン名を使います。$myhostname は 他の多くの設定パラメータのデフォルト値として使われます。

例:

myhostname = host.domain.tld
mynetworks (デフォルト: "postconf -d" の出力を参照)

"よそ者" よりも多くの権限を持つ "信頼された" SMTPクライアントの リスト。

特に、"信頼された" SMTPクライアントはPostfixを通したメールの 中継が許可されます。postconf(5) マニュアルの smtpd_recipient_restrictions の 記述を参照してください。

"信頼された" ネットワークアドレスのリストは手動で指定することも Postfixに指定させること (これがデフォルトです) もできます。 詳細な情報は mynetworks_style パラメータの記述を参照してください。

mynetworks リストを手動で指定すると、 Postfixは mynetworks_style の 設定を無視します。

ネットワークアドレスまたは network/netmask パターンを、空白やカンマで 区切ったリストを指定します。次の行を空白で始めることで長い行を継続します。

netmask にはホストアドレスのネットワーク部分のビット数を指定します。 "/file/name" や "type:table" パターンを 指定することもできます。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはテーブル エントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。

リストは左から右へとマッチされ、最初のマッチで検索を止めます。 リストからアドレスやネットワークブロックを除外するには、"!pattern" を指定します。

注意: IPバージョン6アドレス情報は mynetworks 値や "/file/name" で指定されるファイル内で [] の内側に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、 そうしないと "type:table" パターンと 混乱してしまいます。

例:

mynetworks = 127.0.0.0/8 168.100.189.0/28
mynetworks = !192.168.0.1, 192.168.0.0/28
mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:5c7::]/64
mynetworks = $config_directory/mynetworks
mynetworks = hash:/etc/postfix/network_table
mynetworks_style (デフォルト: subnet)

mynetworks パラメータのデフォルト値を 生成する方法。これはリレーアクセス制御などのための信頼されたネットワークの リストです。

myorigin (デフォルト: $myhostname)

ドメイン名で、ローカルで投函されたメールはそこから来たように見え、 またローカルで投かんされたメールはそこに配送されます。 デフォルトの $myhostname は 小さなサイトに適しているでしょう。複数のマシンを持つドメインを運用しているので あれば、(1) これを $mydomain に変えて、(2) それぞれの user を user@that.users.mailhost にエイリアスするような、ドメイン全体のエイリアスデータベースを 設定すべきです。

例:

myorigin = $mydomain
nested_header_checks (デフォルト: $header_checks)

header_checks(5) マニュアルページに 書かれているような、添付されたメッセージの非MIMEメッセージヘッダの コンテンツ検査をおこなう、オプションの検索テーブル。

この機能はPostfix 2.0以降で使えます。

newaliases_path (デフォルト: "postconf -d" の出力を参照)

newaliases(1) コマンドの場所を指定している Sendmail 互換機能。このコマンドは local(8) aliases(5) データベースを再構築するのに 使われます。

non_fqdn_reject_code (デフォルト: 504)

クライアントの要求が reject_non_fqdn_hostnamereject_non_fqdn_senderreject_non_fqdn_recipient 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

notify_classes (デフォルト: resource, software)

ポストマスターに報告されるエラークラスのリスト。デフォルトでは最も 深刻な問題のみが報告されます。偏執的な人はポリシー (UCE および メールのリレー) やプロトコルエラー (壊れたメールソフトウェア) の報告も 有効にしたいかもしれません。

エラークラスは:

bounce (2bounce も含みます)
バウンスされたメールのヘッダのコピーと、Postfixがメールを拒否した ときのSMTPセッションの写しをポストマスターに送ります。通知は bounce_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
2bounce
配送できないバウンスメールをポストマスターに送ります。通知は 2bounce_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
delay
遅延されたメールのヘッダのコピーをポストマスターに送ります。通知は delay_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
policy
(UCE) ポリシーのためにクライアントが拒否されたときの SMTP セッションの写しをポストマスターに送ります。通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
protocol
クライアントまたはサーバのプロトコルエラーの場合に SMTP セッションの 写しをポストマスターに送ります。通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
resource
リソースの問題でメールが配送されなかったことをポストマスターに 通知します。通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
software
ソフトウェアの問題でメールが配送されなかったことをポストマスターに 通知します。通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。

例:

notify_classes = bounce, delay, policy, protocol, resource, software
notify_classes = 2bounce, resource, software
owner_request_special (デフォルト: yes)

アドレスのローカル部分が owner-listname および listname-request と なっているものを特別扱いします: recipient_delimiter が "-" になっていても、そのようなアドレスを分割しません。この機能は メーリングリストに便利です。

parent_domain_matches_subdomains (デフォルト: "postconf -d" の出力を参照)

明示的な ".domain.tld" パターンを要求する代わりに、自動的に "domain.tld" のサブドメインがマッチするPostfixの機能。これは 後方互換性を意図しています: 最終的には、本当にサブドメインにマッチ させたい場合には、明示的な ".domain.tld" 形式のパターンを全ての Postfix機能が要求することになる予定です。

permit_mx_backup_networks (デフォルト: empty)

permit_mx_backup SMTPアクセス 機能の使用を、プライマリMXホストがリストアップされたネットワークにマッチする ドメインだけに制限します。

pickup_service_name (デフォルト: pickup)

pickup(8) サービスの名前。このサービスは ローカルで投かんされたメールをPostfix maildropキュー から収集します。

この機能はPostfix 2.0以降で使えます。

prepend_delivered_header (デフォルト: command, file, forward)

Postfix local(8) 配送エージェントが Delivered-To: メッセージヘッダを前置する、メッセージ配送の場面。

デフォルトでは、メールの転送時やファイル(メールボックス)および コマンドへの配送時に、Postfix local 配送エージェントは Delivered-To: ヘッダを前に付けます。メール転送時に Delivered-To: を無効にするのは 勧められません。

forwardfilecommand のうちゼロ個以上を 指定します。

例:

prepend_delivered_header = forward
process_id (read-only)

PostfixコマンドまたはデーモンプロセスのプロセスID。

process_id_directory (デフォルト: pid)

$queue_directory からのPostfix PIDファイルの相対位置。これは読みとり専用のパラメータです。

process_name (read-only)

Postfixコマンドまたはデーモンプロセスのプロセス名。

propagate_unmatched_extensions (デフォルト: canonical, virtual)

検索キーから検索結果へと拡張アドレスをコピーするアドレス検索テーブル。

例えば、"joe@domain -> joe.user" の virtual(5) マッピングでは、"joe+foo@domain" は "joe.user+foo" に 書き換えられます。

canonicalvirtualaliasforwardincludegeneric のうちゼロ個以上を指定します。これらは それぞれ canonical(5)virtual(5)aliases(5) マップ、local(8) .forward および :include: ファイル検索、smtp(8) generic マップで 拡張アドレスを展開させます。

注意: この機能を canonical および virtual 以外の種類で 有効にすると、メールが他のサイト、特にメーリングリスト配信アドレスに 送られると問題を引き起こすかもしれません。

例:

propagate_unmatched_extensions = canonical, virtual, alias,
        forward, include
propagate_unmatched_extensions = canonical, virtual
proxy_interfaces (デフォルト: empty)

プロキシまたはネットワークアドレス変換ユニットを通して、このメール システムがメールを受け取るネットワークインターフェースアドレス。

この機能はPostfix 2.0以降で使えます。

システムが他のドメインのバックアップMXホストである場合、"外部の" プロキシ/NAT アドレスを指定しなければいけません。そうしないと、 一次MXホストがダウンしているときにメール配送ループが起こります。

例:

proxy_interfaces = 1.2.3.4
proxy_read_maps (デフォルト: "postconf -d" の出力を参照)

proxymap(8) サーバのアクセスが許される 検索テーブル。proxy: で始まらない テーブル参照は無視されます。proxymap(8) テーブル アクセスは読み込み専用です。

この機能はPostfix 2.0以降で使えます。

qmgr_clog_warn_time (デフォルト: 300s)

特定の配送先がPostfix activeキュー を詰まらせているという警告の最小遅延間隔。無効にするには 0 を指定します。

この機能は helpful_warnings パラメータで有効にされます。

この機能はPostfix 2.0以降で使えます。

qmgr_fudge_factor (デフォルト: 100)

古い機能: 大きなメーリングリストのメッセージ配送にビジーなメール システムが使う配送リソースのパーセンテージ。

この機能は 古い oqmgr(8) キューマネージャにのみ 存在します。現在のキューマネージャはよりよい方法でこの問題を解決しています。

qmgr_message_active_limit (デフォルト: 20000)

activeキューのメッセージの最大数。

qmgr_message_recipient_limit (デフォルト: 20000)

Postfixキューマネージャがメモリ内に保持する受信者の最大数、 および短期間・メモリ内の "動いていない" 配送先の状態キャッシュサイズの 最大サイズ。

qmgr_message_recipient_minimum (デフォルト: 10)

あらゆるメッセージに対するメモリ内受信者の最小値。これは必要な場合は 他のメモリ内受信者制限 (例えば一般的な qmgr_message_recipient_limit や transport ごとの _recipient_limit) よりも優先されます。このパラメータで 許される最小値は 1 です。

qmqpd_authorized_clients (デフォルト: empty)

QMQP サーバポートへの接続が許されるクライアント。

デフォルトではどのクライアントもこのサービスを使うことが許されません。 これは QMQP サーバはどの配送先へもメールをリレーするためです。

クライアントパターンのリストを指定します。リストパターンにはホスト名や ドメイン名、インターネットアドレス、network/mask パターンを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 パターンにファイル名を指定すると、ファイル名はその内容で 置き換えられます; パターンが "type:table" と 指定されていると、代わりにテーブル検索が使われます。

パターンは空白またはカンマで区切られます。結果を逆にするには、 ファイル名以外のパターンの前に感嘆符 (!) を付けます。

例:

qmqpd_authorized_clients = !192.168.0.1, 192.168.0.0/24
qmqpd_error_delay (デフォルト: 1s)

拒否する応答をクライアントに返す前に QMQP サーバが一時停止する時間。 これは混乱していたり悪意のあるクライアントを遅くすることが目的です。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

qmqpd_timeout (デフォルト: 300s)

ネットワーク越しに情報を送受信する時間の制限。$qmqpd_timeout 秒以上にわたって読み書き操作がないと、QMQP サーバは諦めて接続を切ります。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

queue_directory (デフォルト: "postconf -d" の出力を参照)

Postfixトップレベルキューディレクトリの場所。これは chroot されて 走っているPostfixデーモンプロセスのルートディレクトリです。

queue_file_attribute_count_limit (デフォルト: 100)

Postfixキューファイルに格納される (name=value) 属性の最大数。 この制限は cleanup(8) サーバによって強制されます。

この機能はPostfix 2.0以降で使えます。

queue_minfree (デフォルト: 0)

メールを受信するのに必要なキューファイルシステムの、バイト単位の 最低空き容量。これは今のところ SMTPサーバがメールを受け付けるかどうかを 決めるのに使われています。

デフォルトでは、空き容量が 1.5*$message_size_limit よりも少ないとPostfix 2.1 SMTPサーバは MAIL FROM コマンドを拒否します。 空き容量制限を大きくするには、少なくとも 1.5*$message_size_limitqueue_minfree の値を指定します。

Postfixバージョン 2.0 以前では、queue_minfree がゼロの場合は空き容量に要求する最低値はありませんでした。

queue_run_delay (デフォルト: 1000s)

deferredキューがキューマネージャによってスキャンされる時間間隔。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

queue_service_name (デフォルト: qmgr)

qmgr(8) サービスの名前。このサービスはPostfixキューを 管理し、配送要求のスケジューリングをおこないます。

この機能はPostfix 2.0以降で使えます。

rbl_reply_maps (デフォルト: empty)

RBL 応答テンプレートを持つ、オプションの検索テーブル。テーブルは RBL ドメイン名でインデックス化されます。デフォルトでは、Postfixは default_rbl_reply 設定 パラメータで指定されたデフォルトのテンプレートを使います。RBL応答テンプレートの 議論はそこを参照してください。

この機能はPostfix 2.0以降で使えます。

readme_directory (デフォルト: "postconf -d" の出力を参照)

Postfixサブシステムや機能に関する構築方法や設定方法、操作方法が 書かれたPostfix READMEファイルの場所。

receive_override_options (デフォルト: empty)

受信者確認、ビルトインコンテンツフィルタリング、アドレスマッピングを 有効または無効にします。典型的には、これらは smtpd(8)qmqpd(8)pickup(8) デーモンに対して master.cf のコマンドライン引数として指定されます。

以下のオプションをゼロ個以上指定します。オプションは main.cf 設定を 上書きします。これらは smtpd(8)qmqpd(8)pickup(8) 自身が実装しているか、cleanup サーバに渡されます。

no_unknown_recipient_checks
知らない受信者を拒否しようとしません (SMTPサーバのみ)。 これは典型的には外部コンテンツフィルタの「後で」指定されます。
no_address_mappings
canonical アドレスマッピングや virtual エイリアスマップ拡張、 アドレスのマスカレード、自動 BCC (blind carbon-copy) 受信者を無効に します。これは典型的には外部コンテンツフィルタの「前に」指定されます。
no_header_body_checks
header/body_checks を無効にします。これは典型的には外部コンテンツ フィルタの「後で」指定されます。

注意: 「コンテンツフィルタの前の」receive_override_options 設定が main.cf ファイルで指定される場合は、「コンテンツフィルタの後の」 receive_override_options 設定を master.cf に書きます (またはその逆)。

例:

receive_override_options =
    no_unknown_recipient_checks, no_header_body_checks
receive_override_options = no_address_mappings

この機能はPostfix 2.1以降で使えます。

recipient_bcc_maps (デフォルト: empty)

受信者アドレスでインデックス化された、オプションの BCC (blind carbon-copy) アドレス検索テーブル。BCC アドレス (複数の結果はサポート されていません) はPostfixの外からメールが入ってきたときに 加えられます。

この機能はPostfix 2.1以降で使えます。

テーブルの検索順序は次の通りです:

使用するデータベースの種類や名前を指定します。変更後は "postmap /etc/postfix/recipient_bcc" を実行してください。

注意: BCC アドレス宛のメールがバウンスすると、そのメールは送信者に 返されます。

注意: 自動BCC受信者は新しいメールに対してのみ生成されます。 メーラループを避けるために、自動BCC受信者はPostfixが内部で転送する メールやPostfix自身が生成するメールに対しては生成されません。

例:

recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
recipient_canonical_classes (デフォルト: envelope_recipient, header_recipient)

recipient_canonical_maps アドレスマッピングを受けるアドレス。デフォルトでは、 recipient_canonical_maps アドレスマッピングはエンベロープ受信者アドレス、およびヘッダ受信者 アドレスに適用されます。

以下の1つ以上を指定します: envelope_recipient、header_recipient

この機能はPostfix 2.2以降で使えます。

recipient_canonical_maps (デフォルト: empty)

エンベロープおよびヘッダ受信者アドレスに対する、オプションのアドレス マッピング検索テーブル。 テーブルの書式や検索は canonical(5) に 記述されています。

注意: $recipient_canonical_maps は $canonical_maps の前に 処理されます。

例:

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
recipient_delimiter (デフォルト: empty)

ユーザ名と拡張アドレス (user+foo) の間の区切り。aliases や canonical、 virtual、relocated、.forward ファイル検索での効果については canonical(5) および local(8)relocated(5)virtual(5) を 参照してください。基本的には、ソフトウェアは user や .forward を試す前に user+foo や .forward+foo を試します。

例:

recipient_delimiter = +
reject_code (デフォルト: 554)

リモートSMTPクライアントの要求が "reject" 制限で拒否された場合の、 数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

relay_clientcerts (デフォルト: empty)

Postfix SMTPサーバが permit_tls_clientcerts 機能でアクセスを許可するリモートSMTPクライアント証明書のリスト。 Postfixリスト操作ルーチンは空白やその他の文字を特別なものとして扱うため、 この機能は証明書名を使いません。代わりに、偽るのが難しく検索に使うのが 容易な証明書のフィンガープリントを使います。

Postfix検索テーブルは (キー、値) の組の形式です。キーしか必要ないため、 値は自由に、例えばユーザ名やホスト名を選ぶことができます: D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home

例:

relay_clientcerts = hash:/etc/postfix/relay_clientcerts

さらにきめ細かく制御するには、それぞれのクライアントに適切な access(5) ポリシーを選ぶために check_ccert_access を使って ください。RESTRICTION_CLASS_README を参照してください。

この機能はPostfix 2.2で使えます。

relay_destination_concurrency_limit (デフォルト: $default_destination_concurrency_limit)

relay メッセージ配送 transport を使った、同じ配送先への並列配送数の 最大数。この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

この機能はPostfixバージョン 2.0以降で使えます。

relay_destination_recipient_limit (デフォルト: $default_destination_recipient_limit)

relay メッセージ配送 transport を使った、配送ごとの受信者数の最大値。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

このパラメータの値を1に設定すると、relay_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。

この機能はPostfixバージョン 2.0以降で使えます。

relay_domains (デフォルト: $mydestination)

このシステムがメールをリレーしようとする配送先のドメイン (および そのサブドメイン)。サブドメインへのマッチは parent_domain_matches_subdomains パラメータで制御されます。relay_domains 値の 使われ方についての詳細は permit_auth_destination および reject_unauth_destination SMTP受信者制限の記述を参照してください。

$relay_domains にマッチする ドメインは $relay_transport メール配送transportを使って配送されます。SMTPサーバは受信者アドレスを $relay_recipient_maps で 確認し、存在しない受信者を拒否します。ADDRESS_CLASS_README ファイルのリレードメインアドレスクラスも参照してください。

注意: Postfixは自動的にはこのシステムを一次もしくはバックアップ MX ホストにリストアップしているドメインにメールを転送しません。 postconf(5) マニュアルページの permit_mx_backup 制限を参照して ください。

ホストまたはドメイン、"/file/name" パターン、"type:table" 検索テーブルをカンマや空白で区切って指定してください。次の行を空白で始める ことで長い行を継続します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはドメインまたは その親ドメインが検索キーとして現れるとマッチします。

relay_domains_reject_code (デフォルト: 554)

クライアントの要求が reject_unauth_destination 受信者制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

relay_recipient_maps (デフォルト: empty)

$relay_domains にマッチする ドメインの、全ての有効なアドレスを持つオプションの検索テーブル。有効な 受信者リストを持たないドメインのワイルドカードとしては @domain を指定します。 技術的には、$relay_recipient_maps で 挙げられたテーブルはリストとして使われます: Postfixは検索文字列が見つかるか どうかのみを知る必要があるため、検索テーブルからの結果は使いません。

このパラメータが空でなければ、Postfix SMTPサーバは知らないリレー ユーザ宛のメールを拒否します。この機能はデフォルトでは無効になって います。

ADDRESS_CLASS_README ファイルの リレードメイン アドレスクラスも参照してください。

例:

relay_recipient_maps = hash:/etc/postfix/relay_recipients

この機能はPostfix 2.0以降で使えます。

relay_transport (デフォルト: relay)

$relay_domains パラメータ値に マッチするドメイン宛の、デフォルトのメール配送transportおよびnext-hop情報。 この情報は transport(5) テーブルで上書き できます。

transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照してください。

ADDRESS_CLASS_README ファイルの リレードメイン アドレスクラスも参照してください。

この機能はPostfix 2.0以降で使えます。

relayhost (デフォルト: empty)

オプションの transport(5) テーブルにエントリが マッチしなかった場合の、非ローカルメールのデフォルトの送り先ホスト。 relayhost が与えられない場合は、 メールは直接配送先に送られます。

イントラネットでは組織のドメイン名を指定します。内部DNSがMX レコードを使っていないのであれば、その代わりにイントラネットの ゲートウェイホスト名を指定してください。

SMTP の場合、ドメイン名、ホスト名、hostname:port、[hostname]:port、 [hostaddress] または [hostaddress]:port を指定してください。 [hostname] の形式はMX検索を無効にします。

UUCP を使って接続しているのであれば、UUCP_README ファイルを参照すると役に立つ情報があります。

例:

relayhost = $mydomain
relayhost = [gateway.my.domain]
relayhost = uucphost
relayhost = [an.ip.add.ress]
relocated_maps (デフォルト: empty)

もう存在しないユーザやドメインの新しい連絡先の情報を持つ、オプションの 検索テーブル。テーブルの書式や検索は relocated(5) に 記述されています。

この機能を使うのであれば、必要な DBM または DB ファイルを構築するために "postmap /etc/postfix/relocated" を変更後に実行し、変更を反映 させるために "postfix reload" を実行してください。

例:

relocated_maps = dbm:/etc/postfix/relocated
relocated_maps = hash:/etc/postfix/relocated
remote_header_rewrite_domain (デフォルト: empty)

このパラメータが空の場合、リモートクライアントからのメッセージヘッダは 全く書き換えません; そうでない場合、メッセージヘッダを書き換え、 不完全なアドレスに指定されたドメイン名を付け加えます。 local_header_rewrite_clients パラメータはPostfixがローカルとみなすクライアントを制御します。

例:

安全な設定: リモートSMTPクライアントからの不完全なヘッダアドレスに "domain.invalid" を付け加え、これらのアドレスとローカルアドレスを 混同しないようにします。

    remote_header_rewrite_domain = domain.invalid

デフォルトで純粋主義な設定: リモートクライアントからのヘッダを一切 書き換えません。

    remote_header_rewrite_domain =
require_home_directory (デフォルト: no)

メール配送の試行前に local(8) 受信者のホーム ディレクトリが存在しなければならないかどうか。デフォルトではこのテストは 無効になっています。メールサーバにホームディレクトリをインポートしている 環境では便利かもしれません (「推奨しません」)。

resolve_dequoted_address (デフォルト: yes)

受信者アドレスの引用の中を見ることで、正確にではなく安全にアドレスを 解決します。

デフォルトでは、余分な @ や % や ! 演算子が見えたままになるように するため、Postfixアドレスリゾルバは RFC 822 のようにアドレスのローカル部分に引用符を付けません。この振る舞いは安全ですが、 技術的には間違っています。

"resolve_dequoted_address = no" を指定すると、Postfixリゾルバはアドレスのローカル部分にある余分な @ などの 演算子は知らなくなります。これはPostfixがSendmailシステムのバックアップMX サービスを提供する際に user@domain@domain アドレスを使ったあいまいな メールリレー攻撃の機会を開いてしまうことになります。

resolve_null_domain (デフォルト: no)

"@" null ドメインで終わっているアドレスを無効なものとして拒否するのでは なく、ローカルホスト名が指定されているものとして解決します。

この機能はPostfixバージョン 2.1以降でつかえます。 それ以前のバージョンは null ドメインを常にローカルホスト名として 解決します。

Postfix SMTPサーバは "@" null ドメインで終わっているアドレスからの、 またはそのようなアドレス宛のメールや、"@" null ドメインで終わるような 形に書き換えられるアドレスからのメールを拒否するためにこの機能を 使います。

rewrite_service_name (デフォルト: rewrite)

アドレス書き換えサービスの名前。このサービスはアドレスを標準的な形に 書き換え、(配送方法、next-hop ホスト、受信者) の組へと解決します。

この機能はPostfix 2.0以降で使えます。

sample_directory (デフォルト: /etc/postfix)

Postfix設定例ファイルがあるディレクトリ名。

sender_based_routing (デフォルト: no)

このパラメータは使うべきではありません。

sender_bcc_maps (デフォルト: empty)

送信者アドレスでインデックス化された、オプションの BCC (blind carbon-copy) アドレス検索テーブル。BCC アドレス (複数の結果はサポート されていません) はPostfixの外からメールが入ってきたときに 加えられます。

この機能はPostfix 2.1以降で使えます。

テーブルの検索順序は次の通りです:

使用するデータベースの種類や名前を指定します。変更後は "postmap /etc/postfix/sender_bcc" を実行してください。

注意: BCC アドレス宛のメールがバウンスすると、そのメールは送信者に 返されます。

自動BCC受信者は新しいメールに対してのみ生成されます。 メーラループを避けるために、自動BCC受信者はPostfixが内部で転送する メールやPostfix自身が生成するメールに対しては生成されません。

例:

sender_bcc_maps = hash:/etc/postfix/sender_bcc
sender_canonical_classes (デフォルト: envelope_sender, header_sender)

sender_canonical_maps アドレスマッピングを受けるアドレス。デフォルトでは、 sender_canonical_maps アドレスマッピングはエンベロープ送信者アドレスとヘッダ送信者アドレスに 適用されます。

以下の1つ以上を指定します: envelope_sender、header_sender

この機能はPostfix 2.2以降で使えます。

sender_canonical_maps (デフォルト: empty)

エンベロープおよびヘッダ送信者アドレスに対する、オプションのアドレス マッピング検索テーブル。テーブルの書式や検索は canoni cal(5) に 記述されています。

例: 「送信者」アドレスを "user@ugly.domain" から "user@pretty.domain" に書き換えたいが、受信者アドレス "user@ugly.domain" にはメールを 送れるままにしておきたい場合。

注意: $sender_canonical_maps は $canonical_maps の前に処理 されます。

例:

sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path (デフォルト: "postconf -d" の出力を参照)

Postfix sendmail(1) コマンドの場所を指定している Sendmail互換機能。このコマンドはPostfixキューにメールを投函するのに 使われます。

service_throttle_time (デフォルト: 60s)

異常に見えるサーバをフォークするまでにPostfix master(8) が 待つ時間。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

setgid_group (デフォルト: postdrop)

set-gid Postfixコマンドおよびグループ書き込み可能なPostfix ディレクトリを所有するグループ。このパラメータ値を変更した場合、 "postfix set-permissions" (Postfix 2.0以前では: "post-install set-permissions") を再び実行する必要があります。

show_user_unknown_table_name (デフォルト: yes)

"User unknown" 応答で受信者テーブルの名前を表示します。余分な詳細は トラブルシューティングを容易にしますが、関係ない情報も晒すことに なります。

この機能はPostfix 2.0以降で使えます。

showq_service_name (デフォルト: showq)

showq(8) サービスの名前。このサービスは メールキュー状態レポートを生成します。

この機能はPostfix 2.0以降で使えます。

smtp_always_send_ehlo (デフォルト: yes)

SMTP セッションの最初に、常に EHLO を送ります。

"smtp_always_send_ehlo = no" では、Postfixはサーバのグリーティングバナーに "ESMTP" という単語が現れた ときのみ EHLO を送ります (例: 220 spike.porcupine.org ESMTP Postfix)。

smtp_bind_address (デフォルト: empty)

IPv4接続の際に SMTPクライアントがバインドする、オプションの数字の ネットワークアドレス。

全ての SMTPクライアントに対しては main.cf ファイルでこれを指定 できますし、もしくは特定のクライアントに対しては master.cf ファイルで 指定できます。例:

  /etc/postfix/master.cf:
        smtp ... smtp -o smtp_bind_address=11.22.33.44

注意1: inet_interfaces が 1つしかIPv4アドレスを指定しておらず、そのアドレスが非ループバック アドレスの場合、そのアドレスは自動的に smtp_bind_address として使われます。これはバーチャルIPホスティングをサポートしていますが、 マルチホームなファイアウォールでは問題になるかもしれません。詳細は inet_interfaces ドキュメントを 参照してください。

注意2: アドレス情報は [] の中に入れることもできますが、 ここではその形式は推奨しません。

smtp_bind_address6 (デフォルト: empty)

IPv6接続の際にSMTPクライアントがバインドする、オプションの数字の ネットワークアドレス。

この機能はPostfixバージョン2.2以降で使えます。

すべてのSMTPクライアントに対しては main.cf ファイルで、特定の クライアントに対しては master.cf ファイルで指定できます。例えば:

  /etc/postfix/master.cf:
        smtp ... smtp -o smtp_bind_address6=1:2:3:4:5:6:7:8

注意1: inet_interfaces が 1つしかIPv6アドレスを指定しておらず、そのアドレスが非ループバック アドレスの場合、そのアドレスは自動的に smtp_bind_address6 として使われます。これはバーチャルIPホスティングをサポートしていますが、 マルチホームなファイアウォールでは問題になるかもしれません。詳細は inet_interfaces ドキュメントを 参照してください。

注意2: アドレス情報は [] の中に入れることもできますが、 ここではその形式は推奨しません。

smtp_cname_overrides_servername (デフォルト: yes)

Postfix SMTPクライアントがログの記録やSASLパスワード検索、TLSポリシーの 決定、TLS証明書の検証に使うサーバ名を、DNS CNAMEレコードが上書きできるように します。デフォルト値 (yes) は後方互換です。"no" を指定すると、DNS CNAME レコードの間違ったホスト名情報に対して、Postfix 2.2の smtp_tls_per_site ホスト名 ベースのポリシーを強化します。

この機能はPostfix 2.2.9以降で使えます。

smtp_connect_timeout (デフォルト: 30s)

TCP接続を完了するまでの SMTPクライアントの時間制限、またはゼロ (オペレーティングシステムのビルトイン時間制限を使います)。

期限内に接続できないと、SMTPクライアントはメール交換機リストの次の アドレスを試します。時間制限を無効にするには (すなわちオペレーティング システムによって実装されている時間制限を使うには) 0 を指定します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_connection_cache_destinations (デフォルト: empty)

指定された配送先に対するSMTP接続キャッシュを恒久的に有効にします。 SMTP接続キャッシュを使うと、メール処理が終わってもすぐには 接続を閉じません。代わりに、最大 $smtp_connection_cache_time_limit 秒の間、接続を開き続けます。これにより他の配送に接続を再利用できるようになり、 メール配送パフォーマンスを向上できます。

配送先または擬似配送先のリストを、カンマまたは空白で区切って 指定します:

この機能はPostfix 2.2以降で使えます。

smtp_connection_cache_on_demand (デフォルト: yes)

配送先がactiveキューに 大容量のメールを持つ間だけSMTP接続キャッシュを有効にします。SMTP接続 キャッシュを使うと、メール処理が終わってもすぐには接続を閉じません。 代わりに、最大 $smtp_connection_cache_time_limit 秒の間、接続を開き続けます。これにより他の配送に接続を再利用できるようになり、 メール配送パフォーマンスを向上できます。

この機能はPostfix 2.2以降で使えます。

smtp_connection_cache_reuse_limit (デフォルト: 10)

SMTP接続キャッシュが有効になっている時の、接続を閉じるまでにSMTP セッションが再利用される回数。

この機能はPostfix 2.2以降で使えます。

smtp_connection_cache_time_limit (デフォルト: 2s)

SMTP接続キャッシュが有効になっている時の、使われていないSMTP クライアントソケットを閉じずに開いたままにする時間。リモートサイトから 許可を得ずに大きな値を指定してはいけません。

この機能はPostfix 2.2以降で使えます。

smtp_data_done_timeout (デフォルト: 600s)

SMTP "." を送り、サーバの応答を受け取るまでの SMTPクライアントの 時間制限。

期限内に応答を受け取らないと、メールが複数回配送されるかもしれないという 警告がログに記録されます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_data_init_timeout (デフォルト: 120s)

SMTP DATA コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_data_xfer_timeout (デフォルト: 180s)

SMTPメッセージコンテンツを送る際のSMTPクライアントの時間制限。 $smtp_data_xfer_timeout 秒以上接続に進展がないと、SMTPクライアントは転送を終了します。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_defer_if_no_mx_address_found (デフォルト: no)

MX レコードがIPアドレスに解決できない場合、メール配送を遅延します。

デフォルト (no) は配送できないものとしてメールを返します古いバージョンの Postfixでは、デフォルトでは誰かがMXレコードを修正するかメールが 古くなりすぎるまでメールの配送を試行し続けました。

注意: PostfixはローカルMTA自身と同じ、もしくは優先度が低いMX レコードを常に無視します。

この機能はPostfix 2.1以降で使えます。

smtp_destination_concurrency_limit (デフォルト: $default_destination_concurrency_limit)

smtp メッセージ配送 transport を使った同じ配送先への並列配送の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

smtp_destination_recipient_limit (デフォルト: $default_destination_recipient_limit)

smtp メッセージ配送 transport を使った、配送ごとの最大の受信者数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

このパラメータの値を1に設定すると、smtp_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。

smtp_discard_ehlo_keyword_address_maps (デフォルト: empty)

SMTPクライアントがリモートSMTPサーバからの応答で無視する、 大文字小文字を区別しない EHLO キーワードのリスト (pipelining, starttls, auth など) を持つ、リモートSMTPサーバアドレスでインデックス化された 検索テーブル。詳細は smtp_discard_ehlo_keywords を参照してください。

smtp_discard_ehlo_keywords (デフォルト: empty)

SMTPクライアントがリモートSMTPサーバからのEHLO応答で無視する、 大文字小文字を区別しない EHLO キーワードのリスト (pipelining, starttls, auth など)。

注意:

smtp_enforce_tls (デフォルト: no)

強制モード: リモートサーバがTLS暗号化を使うことを要求し、メールを平文では 送りません。また、これはリモートSMTPサーバホスト名がリモート サーバ証明書の情報にマッチし、その証明書がPostfix SMTPクライアントが 信頼するCAによって発行されていることも必要とします。証明書が確認 できなかったりホスト名がマッチしなければ、配送は遅延され、メールは キューにとどまります。

サーバホスト名は SubjectAlternativeName で dNSNames として与えられる すべての名前に対してマッチされます。dNSNames が指定されていないと、 CommonName が確認されます。この振る舞いは smtp_tls_enforce_peername オプションで変えられます。

RFC 2487をサポートし、 かつ、有効なサーバ証明書を提供するサーバのみに接続することが確実な場合にのみ、 このオプションは便利です。典型的な用途としては、クライアントが専用の メールハブにすべてのEメールを送るというものです。

smtp_generic_maps (デフォルト: empty)

通常はインターネット越しのメール送信時にローカルで有効なアドレスを 世界中で有効なアドレスに変換するような、SMTPクライアントで アドレス書き換える、オプションの検索テーブル。これはローカルマシンが インターネットドメイン名を持たず、localdomain.local のような ものを使っている場合に必要です。

テーブルの書式と検索は generic(5) に 記述されています; 例は ADDRESS_REWRITING_README および STANDARD_CONFIGURATION_README ドキュメントに示されています。

この機能はPostfix 2.2以降で使えます。

smtp_helo_name (デフォルト: $myhostname)

SMTP EHLO または HELO コマンドで送るためのホスト名。

デフォルト値はマシンのホスト名です。ホスト名または [ip.add.re.ss] を 指定します。

全ての SMTPクライアントに対しては main.cf ファイルでこの情報を指定 できますし、もしくは特定のクライアントに対しては master.cf ファイルで 指定できます。例:

  /etc/postfix/master.cf:
        mysmtp ... smtp -o smtp_helo_name=foo.bar.com

この機能はPostfix 2.0以降で使えます。

smtp_helo_timeout (デフォルト: 300s)

HELO または EHLO コマンドを送り、最初のサーバの応答を受け取るまでの SMTPクライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_host_lookup (デフォルト: dns)

SMTPクライアントがホストのIPアドレスを検索するのに使うメカニズム。 このパラメータはDNS検索が無効になっていると無視されます。

以下のうち一つを指定します:

dns
DNSでホストを見つけます (推奨)。
native
ネイティブなネームサービス (nsswitch.conf または同等のメカニズム) のみを使います。
dns, native
DNSで見つからなかったホストに対してネイティブサービスを使います。

この機能はPostfix 2.1以降で使えます。

smtp_line_length_limit (デフォルト: 990)

Postfixが SMTP で送るメッセージヘッダおよび本体行の最大長。長い行は "<CR><LF><SPACE>" を挿入することで分割します。これは MIME でフォーマットされたメールへの被害を最小にします。

長い行を持つメールを受け取らないサーバの実装があるため、デフォルトでは 行の長さは 990 文字に制限されます。

smtp_mail_timeout (デフォルト: 300s)

MAIL FROM コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_mx_address_limit (デフォルト: 0)

メール交換機検索から得られるMX (メール交換機) IPアドレスの最大数、 またはゼロ (制限なし)。

この機能はPostfix 2.1以降で使えます。

smtp_mx_session_limit (デフォルト: 2)

諦めるか fall-back リレーホストに配送するまでの、配送要求ごとの SMTP セッションの最大数、またはゼロ (制限なし)。この制限は SMTP の 最初のハンドシェイクが完了できなかったIPアドレスを無視します。

この機能はPostfix 2.1以降で使えます。

smtp_never_send_ehlo (デフォルト: no)

SMTP セッションの最初に EHLO は送りません。smtp_always_send_ehlo パラメータも参照してください。

smtp_pix_workaround_delay_time (デフォルト: 10s)

PIX ファイアウォール"<CR><LF>.<CR><LF>" バグを 回避するために、Postfix SMTPクライアントが ".<CR><LF>" を 送ってから一時停止する時間。

短すぎる時間を選択すると、遅いネットワーク接続で大きなメッセージを 送ったときにこの回避策は効果がなくなります。

smtp_pix_workaround_threshold_time (デフォルト: 500s)

PIX ファイアウォール "<CR><LF>.<CR><LF>" バグ回避が有効になるまでに、メッセージがキューに入っていなければ いけない時間。

デフォルトでは、キューに入って500秒以内のメールにはこの回避策を 無効にします。言い換えると、たいていの場合、最初の配送試行ではこの 回避策は無効にされます。

PIX ファイアウォール "<CR><LF>.<CR><LF>" バグ回避を最初の配送試行でも有効にするには 0 を指定します。

smtp_quit_timeout (デフォルト: 300s)

QUIT コマンドを送り、サーバの応答を受け取るまでの、SMTPクライアントの 時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_quote_rfc821_envelope (デフォルト: yes)

RFC 821 で要求されるように、 SMTP MAIL FROM および RCPT TO コマンドでのアドレスに引用符を付けます。 これは "." でローカル部分が終わるアドレスの前後に引用符を置くことも含みます。

デフォルトは RFC 821 を 満たします。壊れた SMTPサーバにメールを送らなければいけないのであれば、 master.cf で特別な SMTPクライアントを設定してください:

    /etc/postfix/master.cf:
        broken-smtp . . . smtp -o smtp_quote_rfc821_envelope=no

そして transport(5) テーブルで問題の配送先宛の メールを "broken-smtp" メッセージ配送に送ります。

この機能はPostfix 2.1以降で使えます。

smtp_randomize_addresses (デフォルト: yes)

優先度が同じMXホストアドレスの順番をランダムにします。これはPostfix SMTPクライアントのパフォーマンス機能です。

smtp_rcpt_timeout (デフォルト: 300s)

SMTP RCPT TO コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtp_rset_timeout (デフォルト: 20s)

RSET コマンドを送り、サーバの応答を受け取るまでの、SMTPクライアントの 時間制限。SMTPクライアントは受信者アドレス探査を終わらせるためや、 キャッシュされたセッションがまだ使えるかどうかを確認するために RSET を送ります。

この機能はPostfix 2.1以降で使えます。

smtp_sasl_auth_enable (デフォルト: no)

Postfix SMTPクライアントの SASL 認証を有効にします。デフォルトでは、 Postfix SMTPクライアントは認証を使いません。

例:

smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter (デフォルト: empty)

空でなければ、リモートSMTPサーバが提供するSASLメカニズムのリストに 対する、Postfix SMTPクライアントフィルタ。クライアントとサーバの実装が 異なれば、サポートするメカニズムのリストも異なるかもしれません。 デフォルトでは、Postfix SMTPクライアントは2つで共通なメカニズムを 使います。smtp_sasl_mechanism_filter はクライアントが利用を考慮するサーバメカニズムをさらに制限します。

メカニズム名、"/file/name" パターン、もしくは "type:table" 検索テーブルを指定します。"type:table" 検索の結果の右側部分は無視されます。

例:

smtp_sasl_mechanism_filter = plain, login
smtp_sasl_mechanism_filter = /etc/postfix/smtp_mechs
smtp_sasl_mechanism_filter = !gssapi, !login, static:rest
smtp_sasl_password_maps (デフォルト: empty)

ホストまたはドメインごとに1つの username:password エントリを持つ、 オプションの SMTPクライアント検索テーブル。リモートホストまたは ドメインに username:password エントリがなければ、Postfix SMTP クライアントはリモートホストに対して認証しようとしません。

Postfix SMTPクライアントは chroot 監獄に入る前に検索テーブルを 開くので、パスワードファイルを /etc/postfix に置いたままにすることが できます。

smtp_sasl_security_options (デフォルト: noplaintext, noanonymous)

Postfix SMTPクライアントで使うことが許される認証メカニズム。 使用可能な認証メカニズムのリストはシステムに依存します。

以下のゼロ個以上を指定します:

noplaintext
平文パスワードを使う認証方法を許可しません。
noactive
non-dictionary active 攻撃に脆弱な認証方法を許可しません。
nodictionary
passive dictionary 攻撃に脆弱な認証方法を許可しません。
noanonymous
匿名ログインを許可しません。
mutual_auth
相互認証を提供する方法のみを許可します (SASL バージョン 1 では 使えません)。

例:

smtp_sasl_security_options = noplaintext
smtp_sasl_tls_security_options (デフォルト: $smtp_sasl_security_options)

Postfix SMTPクライアントがTLS暗号化SMTPセッションで使う、SASL認証 セキュリティオプション。

smtp_send_xforward_command (デフォルト: no)

Postfix SMTPサーバの EHLO 応答で XFORWARD サポートが通知された場合に、 非標準的な XFORWARD コマンドを送ります。

これにより、コンテンツフィルタにメールを投入するのに使われる "smtp" 配送エージェントが元のメールの名前やアドレス、プロトコル、HELO 名を コンテンツフィルタや下流でキューに入れる SMTPサーバに渡すことが できます。これは localhost[127.0.0.1] 等よりも便利なログを生成する ことができます。

この機能はPostfix 2.1以降で使えます。

smtp_skip_4xx_greeting (デフォルト: yes)

グリーティングで 4XX (立ち去って、後で再び試してください) 状態 コードを返す SMTPサーバをスキップします。

デフォルトでは、Postfixは次のメール交換機に移ります。Postfixがすぐに 配送を遅延させるべきであれば、"smtp_skip_4xx_greeting = no" を指定してください。

この機能はPostfixバージョン 2.0 以前で使えます。それ以降のバージョンの Postfixは 4XX 状態コードで挨拶する SMTPサーバを常に飛ばします。

smtp_skip_5xx_greeting (デフォルト: yes)

グリーティングで 5XX (立ち去って、二度と試さないでください) 状態 コードを返す SMTPサーバをスキップします。

デフォルトでは、Postfixは次のメール交換機に移ります。Postfixがすぐに 配送をバウンスさせるべきであれば、"smtp_skip_5xx_greeting = no" を 指定してください。デフォルトの設定は間違っていますが、多くの人が こうなると期待しているものです。

smtp_skip_quit_response (デフォルト: yes)

SMTP QUIT コマンドへの応答を待ちません。

smtp_starttls_timeout (デフォルト: 300s)

Postfix SMTPクライアントによる、TLSスタートアップおよびシャットダウン 手順の中での読み書き操作の制限時間。

smtp_tls_CAfile (デフォルト: empty)

Postfix SMTPクライアント証明書を発行した認証局 (CA) の証明書を持つ ファイル。これはCA証明書がクライアント証明書ファイルの中に まだ存在しない場合にのみ必要です。

例:

smtp_tls_CAfile = /etc/postfix/CAcert.pem
smtp_tls_CApath (デフォルト: empty)

Postfix SMTPクライアントがリモートSMTPサーバ証明書を確認するのに使う、 PEMフォーマットの認証局証明書を持つディレクトリ。必要な "hash" リンク、 例えば "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs" を作るのを 忘れないでください。

このオプションをchrootモードで使うには、このディレクトリ (もしくは コピー) がchroot監獄の中になければいけません。

例:

smtp_tls_CApath = /etc/postfix/certs 
smtp_tls_cert_file (デフォルト: empty)

PEMフォーマットの、Postfix SMTPクライアントRSA証明書を持つファイル。 このファイルはクライアントのプライベートキーを含んでいるかもしれず、 またこれらはサーバ証明書およびキーファイルと同じかもしれません。

証明書を確認するには、CA証明書 (証明書チェーンの場合には、すべてのCA 証明書) が使えなければいけません。これらの証明書をサーバ証明書に、 先にサーバ証明書で続いて発行CAというように加えておくべきです。

例: "client.domain" 用の証明書は、自身が "root CA" の証明書を持つ "intermediate CA" によって発行されました。"cat client_cert.pem intermediate_CA.pem root_CA.pem > client.pem". として、client.pem ファイルを作成します。

これらのCA自身によって発行されたリモートSMTPサーバ証明書に アクセスしたいのであれば、smtp_tls_CAfile に CA証明書を加えることもでき、その場合は smtp_tls_cert_filesmtp_tls_dcert_file で 持つ必要はありません。

ここで与えられる証明書は SSL クライアント証明書として使えるもので なければならず、そのために "openssl verify -purpose sslclient ..." テストに通らなければいけません。

例:

smtp_tls_cert_file = /etc/postfix/client.pem
smtp_tls_cipherlist (デフォルト: empty)

Postfix SMTPクライアントTLS暗号の選択スキームを制御します。 詳細は OpenSSL ドキュメントを参照してください。注意: パラメータ値の 前後に "" 引用符を使わないでください。

smtp_tls_dcert_file (デフォルト: empty)

PEMフォーマットでの、Postfix SMTPクライアントDSA証明書を持つファイル。 このファイルはサーバプライベートキーも含まれます。

より詳細は smtp_tls_cert_file 以下の議論を参照してください。

例:

smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file (デフォルト: $smtp_tls_dcert_file)

PEMフォーマットでの、Postfix SMTPクライアントDSAプライベートキーを持つ ファイル。プライベートキーは暗号化してはいけません。言い換えると、 鍵はパスワードなしでアクセスできなければいけません。

このファイルは $smtp_tls_cert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。

smtp_tls_enforce_peername (デフォルト: yes)

TLS暗号化が強制されているときに、リモートSMTPサーバホスト名が リモートSMTPサーバ証明書の情報にマッチすることを要求します。 RFC 2487では、MTA クライアントがホスト名をチェックすることは要求していません。

相手の厳密な名前のチェックを無効にするために、このオプションを "no" に 設定することができます。この設定は smtp_tls_per_site テーブルで制御されるセッションには影響しません。

ホスト名検証の無効化は、特別なCAが作られる閉じた環境では意味がある かもしれません。注意せずに使うと、このオプションは "man-in-the-middle (中間者)" 攻撃の危険性を開けてしまいます (この攻撃者の CommonName が ログに記録されます)。

smtp_tls_key_file (デフォルト: $smtp_tls_cert_file

PEMフォーマットでの、Postfix SMTPクライアントRSAプライベートキーを持つ ファイル。このファイルは $smtp_tls_cert_file で指定されるクライアント証明書ファイルと一緒にすることもできます。

プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワード なしでアクセスできなければいけません。

例:

smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_loglevel (デフォルト: 0)

TLS行動に関するPostfix SMTPクライアントのさらなるロギングを有効にします。 それぞれのログレベルは、より低いログレベルで記録される情報も含みます。

0 TLS動作に関するログ記録を無効にします。
1 TLSハンドシェイクと証明書の情報をログに記録します。
2 TLSネゴシエーションの間のレベルをログに記録します。
3 TLSネゴシエーションプロセスの16進数およびASCIIダンプを ログに記録します。
4 STARTTLS以降の通信の16進数およびASCIIダンプを完全に ログに記録します。

問題があったときのみ "smtp_tls_loglevel = 3" を使ってください。ログレベル4は使わないことを強くおすすめします。

smtp_tls_note_starttls_offer (デフォルト: no)

TLSがまだ有効になっていなければ、STARTTLSを提供するリモートSMTPサーバの ホスト名をログに記録します。

ログのレコードは次のようなものです:

postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]
smtp_tls_per_site (デフォルト: empty)

next-hop配送先やリモートSMTPサーバホスト名ごとのPostfix SMTP クライアントTLS利用ポリシーを持つ、オプションの検索テーブル。 両方の検索に成功すると、より特定されたサイトごとのポリシー (NONE、 MUST, etc) が特定度の弱いもの (MAY) を上書きし、より安全なサイトごとの ポリシー (MUST, etc) がより安全度の弱いもの (NONE) を上書きします。

next-hop配送先またはサーバホスト名を左側部分に指定します; ワイルドカードは使えません。next-hop配送先は受信者のドメインもしくは transport(5) テーブル、relayhost パラメータ、 relay_transport パラメータで 指定される配送先のいずれかです。 右側部分には以下のキーワードのいずれか1つを指定します:

NONE
TLSを全く使いません。これは代替ホストやnext-hop 検索キーからの、MAY という指定が弱い検索結果、およびグローバルな smtp_use_tls もしくは smtp_enforce_tlssmtp_tls_enforce_peername 設定を上書きします。
MAY
サーバがTLSサポートを通知する場合にはTLSの使用を試し、 通知されなければ暗号化されていない接続を使います。れは代替ホストや next-hop検索キーからの、より強く特定された結果 (NONE を含む) およびより特定されたグローバルの "smtp_enforce_tls = yes" もしくは "smtp_tls_enforce_peername = yes" よりも低い優先度を持ちます。
MUST_NOPEERMATCH
TLS暗号化の利用を要求しますが、リモートSMTP サーバホスト名がリモートSMTPサーバ証明書の情報にマッチすることや、リモート SMTPサーバ証明書が信頼するCAによって発行されていることは求めません。 これは代替ホストやnext-hop検索キーからの、安全性が弱い NONE や特定度の弱い MAY といった検索結果、およびグローバルな smtp_use_tlssmtp_enforce_tlssmtp_tls_enforce_peername 設定を上書きします。
MUST
TLS暗号化を必須とします。リモートSMTPサーバホスト名が リモートSMTPサーバ証明書の情報にマッチし、リモートSMTPサーバ証明書が 信頼するCAによって発行されていなければいけません。これは代替ホストや next-hop検索キーからの、安全性が弱い NONEMUST_NOPEERMATCH、 および特定度の弱い MAY といった検索結果、グローバルな smtp_use_tlssmtp_enforce_tlssmtp_tls_enforce_peername 設定を上書きします。

安全なDNS検索メカニズムが使えない限り、MX応答やCNAME応答でのホスト名が 間違っていると、PostfixがTLSポリシー検索やサーバ証明書の検証で使うホスト名が 変わってしまいます。サーバホスト名とサーバ証明書が完全にマッチしていたと しても、Postfixが正しいサーバに接続されたかどうかは保証できません。 この抜け穴を避けるため、以下のステップに従ってください:

smtp_tls_scert_verifydepth (デフォルト: 5)

リモートSMTPサーバ証明書の検証の深さ。CAファイルにリストアップされた CAによって直接発行された証明書であれば、検証の深さは1で十分です。 デフォルト値 (5) はより長いチェーンでも十分な値です (ルートCAは実際に 証明書を発行する特別なCAを発行して...)。

smtp_tls_session_cache_database (デフォルト: empty)

オプションのPostfix SMTPクライアントTLSセッションキャッシュを持つ ファイルの名前。btreesdbm のように、enumerationを サポートしたデータベースの種類を指定します; 並列アクセスを サポートしている必要はありません。ファイルが存在しないと作成されます。

注意: dbm データベースは適しません。TLSセッションオブジェクトは 大きすぎます。

例:

smtp_tls_session_cache_database = btree:/var/postfix/smtp_scache
smtp_tls_session_cache_timeout (デフォルト: 3600s)

Postfix SMTPクライアントTLSセッションキャッシュ情報が期限切れとなる 時間。キャッシュの整理は $smtp_tls_session_cache_timeout 秒ごとに定期的に実行されます。

smtp_use_tls (デフォルト: no)

日和見モード: リモートSMTPサーバがSTARTTLSサポートを案内したら TLSを使い、案内がなければ平文でメールを送ります。注意: SMTPサーバには 設定されていなくてもSTARTTLSを提供するものがあります。TLSハンドシェイクに 失敗し、他のサーバが使えないと、配送は遅延されてメールはキューに とどまります。これが懸念されるのであれば、代わりに smtp_tls_per_site 機能を 使ってください。

smtp_xforward_timeout (デフォルト: 300s)

XFORWARD コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

この機能はPostfix 2.1以降で使えます。

smtpd_authorized_verp_clients (デフォルト: $authorized_verp_clients)

XVERP コマンドを指定できる SMTPクライアント。このコマンドはメールが 同時に1つの受信者に受信者ごとのリターンアドレスを持って配送されるよう 要求します。

デフォルトでは、どのクライアントも XVERP を指定することはできません。

このパラメータはPostfix 2.1 で改名されました。デフォルト値は Postfix 2.0 と後方互換です。

network/netmask パターンを空白やカンマで区切ったリストを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 ホスト名や .domain 名 (最初のドットは domain 以下のあらゆる名前に マッチさせます)、"/file/name"、"type:table" パターンを指定することもできます。 "/file/name" パターンはその内容で 置き換えられます; "type:table" 検索 テーブルはテーブルエントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。次の行を空白で始めることで長い行を継続します。

注意: IPバージョン6アドレス情報は smtpd_authorized_verp_clients 値や "/file/name" で指定されるファイル内で [] の中に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱して しまいます。

smtpd_authorized_xclient_hosts (デフォルト: empty)

XCLIENT 機能が使える SMTPクライアント。このコマンドはアクセス制御で 使われる SMTPクライアント情報を上書きします。典型的には、 SMTP ベースのコンテンツフィルタや fetchmail のようなプログラム、SMTP サーバアクセスルールのテストに使われます。詳細は XCLIENT_README ドキュメントを参照してください。

この機能はPostfix 2.1以降で使えます。

デフォルトでは、どのクライアントも XCLIENT を指定できません。

network/netmask パターンを空白やカンマで区切ったリストを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 ホスト名や .domain 名 (最初のドットは domain 以下のあらゆる名前に マッチさせます)、"/file/name"、"type:table" パターンを指定することもできます。 "/file/name" パターンはその内容で 置き換えられます; "type:table" 検索 テーブルはテーブルエントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。次の行を空白で始めることで長い行を継続します。

注意: IPバージョン6アドレス情報は smtpd_authorized_xclient_hosts 値や "/file/name" で指定されるファイル内で [] の中に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱して しまいます。

smtpd_authorized_xforward_hosts (デフォルト: empty)

XFORWARD 機能を使うことが許される SMTPクライアント。このコマンドは SMTP ベースのコンテンツフィルタの後のロギングを改善するのに使われる 情報を渡します。詳細は XFORWARD_README ドキュメントを参照してください。

この機能はPostfix 2.1以降で使えます。

デフォルトでは、どのクライアントも XFORWARD を指定できません。

network/netmask パターンを空白やカンマで区切ったリストを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 ホスト名や .domain 名 (最初のドットは domain 以下のあらゆる名前に マッチさせます)、"/file/name"、"type:table" パターンを指定することもできます。 "/file/name" パターンはその内容で 置き換えられます; "type:table" 検索 テーブルはテーブルエントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。次の行を空白で始めることで長い行を継続します。

注意: IPバージョン6アドレス情報は smtpd_authorized_xforward_hosts 値や "/file/name" で指定されるファイル内で [] の中に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱して しまいます。

smtpd_banner (デフォルト: $myhostname ESMTP $mail_name)

SMTP グリーティングバナーで 220 状態コードの後に続くテキスト。 メールバージョンが宣伝されるのを見るのが好きな人もいます。 デフォルトでは、Postfixはバージョンを示しません。

テキストの最初の $myhostname を 指定しなければ「いけません」。 これは SMTP プロトコルによって要求されています。

例:

smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_client_connection_count_limit (デフォルト: 50)

クライアントがサービスに接続することが許される同時接続数。 デフォルトでは、この制限はデフォルトのプロセス制限値の半分に 設定されます。

この機能を無効にするには、0 という制限を指定します。

警告: この機能の目的は不正使用を制限することです。正当なメール トラフィックを規制するために使ってはいけません。

この機能はPostfix 2.2以降で使えます。

smtpd_client_connection_rate_limit (デフォルト: 0)

時間単位ごとにクライアントがこのサービスに接続を試行することが許される 最大の接続試行数。時間単位は anvil_rate_time_unit 設定パラメータで指定され、デフォルトは1分です。

デフォルトでは、クライアントは単位時間にPostfixが受けることが できる限りの数の接続を張ることができます。

この機能を無効にするには、0 という制限を指定します。

警告: この機能の目的は不正使用を制限することです。正当なメール トラフィックを規制するために使ってはいけません。

この機能は安定版Postfix 2.1 には含まれません。

例:

smtpd_client_connection_rate_limit = 1000
smtpd_client_event_limit_exceptions (デフォルト: $mynetworks)

接続カウントや接続速度、SMTP要求速度の制限から除外されるクライアント。

デフォルトでは、信頼されたネットワークのクライアントが除外されます。 ネットワークブロックやホスト名、.domain 名 (最初のドットは domain 以下のあらゆる名前にマッチさせます) のリストを指定します。

注意: IPバージョン6アドレス情報は smtpd_client_event_limit_exceptions 値や "/file/name" で指定されるファイル内で [] の中に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱して しまいます。

この機能はPostfix 2.2以降で使えます。

smtpd_client_message_rate_limit (デフォルト: 0)

単位時間にこのサービスに対して許される、クライアントのメッセージ配送 要求の最大数で、Postfixが実際にメッセージを受け入れるかどうかは 関係ありません。単位時間は anvil_rate_time_unit 設定パラメータで指定されます。

デフォルトでは、1つのクライアントは単位時間にPostfixが受け付けられるだけの メッセージ配送要求を送ることができます。

この機能を無効にするには、0 という制限を指定します。

警告: この機能は不正利用を制限するのが目的です。正当なメールの流量を 制限するのに使ってはいけません。

この機能はPostfix 2.2以降で使えます。

例:

smtpd_client_message_rate_limit = 1000
smtpd_client_recipient_rate_limit (デフォルト: 0)

単位時間にこのサービスに対してクライアントが許される、受信者アドレスの 最大数で、Postfixが実際にメッセージを受け入れるかどうかは 関係ありません。単位時間は anvil_rate_time_unit 設定パラメータで指定されます。

デフォルトでは、1つのクライアントは単位時間にPostfixが受け付けられる だけの受信者アドレス数を書くことができます。

この機能を無効にするには、0 という制限を指定します。

警告: この機能は不正利用を制限するのが目的です。正当なメールの流量を 制限するのに使ってはいけません。

この機能はPostfix 2.2以降で使えます。

例:

smtpd_client_recipient_rate_limit = 1000
smtpd_client_restrictions (デフォルト: empty)

SMTPサーバがクライアントからSMTP接続の要求を受けた際に適用する、オプションのアクセス制限。

デフォルトでは全ての接続要求を許可します。

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限はクライアントホスト名またはクライアントネットワークアドレス 情報に特有のものです。

check_ccert_access type:table
リモートSMTPクライアント証明書の検証に成功した場合、クライアント証明書 フィンガープリントを指定されたaccess(5) の 検索キーとして使います。この機能はPostfix 2.2で使えます。
check_client_access type:table
指定された access データベースでクライアントのホスト名や親ドメイン、 クライアントのIPアドレス、重要でないオクテットをはぎ取った ネットワークを検索します。詳細は access(5) マニュアルページを参照してください。
permit_inet_interfaces
クライアントIPアドレスが $inet_interfaces にマッチした場合に、要求を許可します。
permit_mynetworks
クライアントのIPアドレスが $mynetworks に リストアップされたネットワークまたはネットワークアドレスのいずれかにマッチする 場合、要求を許可します。
permit_sasl_authenticated
クライアントがRFC 2554 (AUTH) プロトコルで認証に成功した場合に要求を許可します。
permit_tls_all_clientcerts
リモートSMTPクライアント証明書の検証に成功した場合に要求を許可します。 このオプションは特別なCAが証明書を発行し、そのCAが信頼されたCAとして リストアップされている場合にのみ、指定しなければいけません。そうしないと、 認識された証明書を持つすべてのクライアントのリレーを許可してしまいます。 この機能はPostfix 2.2以降で使えます。
permit_tls_clientcerts
リモートSMTPクライアント証明書の検証に成功し、証明書のフィンガー プリントが $relay_clientcerts にリストアップされている場合に、要求を 許可します。
reject_rbl_client rbl_domain=d.d.d.d
逆にしたクライアントネットワークアドレスが \fIrbl_domain 以下の A レコード "\fId.d.d.d" でリストアップされている場合に、要求を 拒否します (Postfixバージョン 2.1以降のみ)。"\fI=d.d.d.d" が 指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている 場合に、要求を拒否します。
maps_rbl_reject_code パラメータには 要求を拒否する際の応答コードを(デフォルト: 554)、default_rbl_reply には デフォルトのサーバ応答を、そして rbl_reply_maps パラメータには rbl_domain でインデックス化されたサーバ応答を持つ テーブルを指定します。この機能はPostfix 2.0以降で使えます。
reject_rhsbl_client rbl_domain=d.d.d.d
クライアントのホスト名が \fIrbl_domain 以下の A レコード "d.d.d.d" でリストアップされている場合に、要求を拒否します (Postfixバージョン 2.1以降のみ)。"=d.d.d.d" が 指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている 場合に、要求を拒否します。さらなる RBL 関連の設定パラメータについては、 上の reject_rbl_client の 記述を参照してください。この機能はPostfix 2.0以降で使えます。
reject_unknown_client
クライアントのIPアドレスがDNSにPTR (アドレスから名前への) レコードを持たない場合や、その PTR レコードがマッチする A (名前からアドレスへ) レコードを持たない場合に、要求を拒否します。
unknown_client_reject_code パラメータには 要求を拒否する際の応答コードを指定します (デフォルト: 450)。一時的な問題に よってホスト名の検索に失敗した場合、応答は常に 450 です。

これに加えて、以下の 一般的な制限 を使えます。 これらの制限は SMTP コマンドのどの場面にも適用できます。

check_policy_service servername
指定されたポリシーサーバに問い合わせます。詳細は SMTPD_POLICY_README ドキュメントを参照してください。この機能はPostfix 2.1以降で使えます。
defer
要求を遅延します。クライアントは後で再び試すように言われます。 この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に 置くと便利です。
defer_code パラメータにはSMTP サーバ応答コードを指定します (デフォルト: 450)。
defer_if_permit
以降の制限で結果が明示的もしくは暗黙のうちに PERMIT アクションに なる場合、要求を遅延します。これは一時的な問題でブラックリスト機能が 失敗したときに便利です。この機能はPostfix 2.1以降で使えます。
defer_if_reject
以降の制限で結果が REJECT アクションになる場合、要求を遅延します。 これは一時的な問題でホワイトリスト機能が失敗したときに便利です。 この機能はPostfix 2.1以降で使えます。
permit
要求を許可します。この制限は、デフォルトのポリシーを明示的に するために制限リストの最後に置くと便利です。
reject_multi_recipient_bounce
エンベロープ送信者が null アドレスで、かつエンベロープ受信者が 複数の場合に要求を拒否します。これの使用は技術的には許されますが、 正当なアプリケーションを持っていないように見えます。
注意: SMTP対話の初期の段階では受信者の総数がわからないため、この制限は smtpd_data_restrictions または smtpd_end_of_data_restrictions で使われるときしか正確には働きません。RCPT の場面で使うと、2番目などの 受信者のみを拒否します。
multi_recipient_bounce_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 550)。 この機能はPostfix 2.1以降で使えます。
reject_unauth_pipelining
前もってコマンドを送ることが許されない場所でクライアントがSMTP コマンドを前もって送ったり、Postfixが実際にESMTPコマンドパイプラインを サポートしているかどうかを知らずにクライアントが前もってSMTPコマンドを 送った場合に、要求を拒否します。これは配送をスピードアップするために ESMTPコマンドパイプラインの間違った使い方をするバルクメール ソフトウェアからのメールを止めます。
注意: reject_unauth_pipelining は 1) クライアントがESMTP (HELOの代わりに EHLO) を使い、 2) "smtpd_delay_reject = yes" (デフォルト) となっている場合には、smtpd_data_restrictions 以外では役に立ちません。そのため、この制限の場面以外で reject_unauth_pipelining を使うことは推奨しません。
reject
要求を拒否します。この制限は制限リストの最後に置いて、デフォルトの ポリシーを明示的にするのに便利です。reject_code 設定パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 554)。
sleep seconds
指定された秒数だけ一時休止し、リストの次の制限があればそれを処理します。 これを次のように使うと、ゾンビメールを止められます:
/etc/postfix/main.cf:
    smtpd_client_restrictions =
        sleep 1, reject_unauth_pipelining
    smtpd_delay_reject = no
この機能はPostfix 2.3以降で使えます。
warn_if_reject
次の制限の意味を変え、要求を拒否する代わりに警告をログに記録する ようにします ("reject_warning" を含むログファイルの記録を探して ください)。これは動いている環境で、不用意にメールを失うリスクを 冒さずに新しい制限をテストするのに便利です。

この場面で有効な他の制限:

例:

smtpd_client_restrictions = permit_mynetworks, reject_unknown_client
smtpd_data_restrictions (デフォルト: empty)

Postfix SMTPサーバが SMTP DATA コマンドの場面で適用する、オプションの アクセス制限。

この機能はPostfix 2.0以降で使えます。

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限がこの場面で有効です:

例:

smtpd_data_restrictions = reject_unauth_pipelining
smtpd_data_restrictions = reject_multi_recipient_bounce
smtpd_delay_reject (デフォルト: yes)

$smtpd_client_restrictions および $smtpd_helo_restrictions、 $smtpd_sender_restrictions の評価を RCPT TO コマンドまで待ちます。 または、$smtpd_client_restrictions および $smtpd_helo_restrictions の 評価を ETRN コマンドまで待ちます。

Postfix SMTPサーバが RCPT TO の前にコマンドを拒否すると間違った 動作をしてしまうクライアントがあるようなので、この機能はデフォルトで 有効になっています。

デフォルトの設定には一つ大きな利点があります: Postfixが クライアント名/アドレスや送信者アドレスを拒否する際に受信者情報を ログに記録できるようになり、誰のメールが拒否されたかがわかるように なります。

smtpd_discard_ehlo_keyword_address_maps (デフォルト: empty)

SMTPサーバがリモートSMTPクライアントへのEHLO応答で送らない、大文字・ 小文字を区別しないEHLOキーワード (pipelining, starttls, auth など) の リストを持つ、リモートSMTPクライアントアドレスでインデックス化された 検索テーブル。詳細は smtpd_discard_ehlo_keywords を参照してください。

smtpd_discard_ehlo_keywords (デフォルト: empty)

SMTPサーバがリモートSMTPクライアントへのEHLO応答で送らない、大文字・ 小文字を区別しないEHLOキーワード (pipelining, starttls, auth など) の リスト。

注意:

smtpd_end_of_data_restrictions (デフォルト: empty)

Postfix SMTPサーバがSMTP END-OF-DATAコマンドの場面で適用する、 オプションのアクセス制限。

この機能はPostfix 2.2以降で使えます。

文法の詳細は smtpd_data_restrictions を参照してください。

smtpd_enforce_tls (デフォルト: no)

強制モード: SMTPクライアントにSTARTTLSサポートを通知し、クライアントが TLS暗号化を使うことを要求します。RFC 2487 により、これは公に参照されるSMTPサーバの場合には適用してはいけません。 このオプションはデフォルトで無効になっており、専用サーバでのみ使うべきです。

注意1: このモードを指定すると "smtpd_tls_auth_only = yes" という指定もなされます。

注意2: "sendmail -bs" から呼び出されると、Postfixはサーバの プライベートキーにアクセスする権限がないため、STARTTLSを提供しません。 これは意図された振る舞いです。

smtpd_error_sleep_time (デフォルト: 1s)

Postfix 2.1以降: メールの配送なしで クライアントが $smtpd_soft_error_limit 以上 $smtpd_hard_error_limit 以下のエラーを出した後に入れる、SMTPサーバ応答の遅延。

Postfix 2.0 以前: メールの配送なしで クライアントが $smtpd_soft_error_limit 以下の エラーを出した際に拒否 (4xx または 5xx) 応答を送る前に入れる、SMTPサーバの 遅延。

smtpd_etrn_restrictions (デフォルト: empty)

Postfix SMTPサーバがクライアントの ETRN 要求の場面で適用する、 オプションの制限。

PostfixのETRN実装はPostfix "高速 flush" サービスに適格な配送先のみを 受け入れます。詳細は ETRN_README を参照して ください。

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限は ETRN コマンドで受け取るドメイン名情報に特有です。

check_etrn_access type:table
指定された access データベースで ETRN ドメイン名やその親ドメイン名を 検索します。詳細は access(5) マニュアルページを参照してください。

この場面で有効な他の制限:

例:

smtpd_etrn_restrictions = permit_mynetworks, reject
smtpd_expansion_filter (デフォルト: "postconf -d" の出力を参照)

RBL 応答テンプレートの $name 展開で許される文字。許可されたセットにない 文字は "_" で置き換えられます。空白のような特別な文字を指定するには、 C 形式のエスケープを使います。

このパラメータは $parameter 展開を受けません。

この機能はPostfix 2.0以降で使えます。

smtpd_forbidden_commands (デフォルト: CONNECT, GET, POST)

Postfix SMTPサーバに 221 コードで即座にセッションを終了させるコマンドの リスト。これはシステムに対して明らかに不正をはたらこうとしている クライアントを切断するのに使えます。このパラメータにリストアップされている コマンドに加え、メッセージヘッダの "Label:" フォーマットに続くコマンドでも 切断します。

この機能はPostfix 2.2以降で使えます。

smtpd_hard_error_limit (デフォルト: 20)

リモートSMTPクライアントがメールの配送なしに発生させることが 許されるエラーの数。制限を超えるとPostfix SMTPサーバは接続を切ります。

smtpd_helo_required (デフォルト: no)

リモートSMTPクライアントが SMTP セッションの最初で HELO または EHLO コマンドで自己紹介することを要求します。

例:

smtpd_helo_required = yes
smtpd_helo_restrictions (デフォルト: empty)

Postfix SMTPサーバが SMTP HELO コマンドの場面で適用する、オプションの 制限。

デフォルトでは全てを許可します。

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限は HELO または EHLO コマンドで受け取るホスト名情報に特有です。

check_helo_access type:table
指定された access(5) データベースで HELO または EHLO ホスト名や親ドメインを検索し、対応するactionを実行します。
check_helo_mx_access type:table
指定された access(5) データベースで HELO または EHLO ホスト名のMXホストを検索し、対応するactionを実行します。 注意: 安全上の理由から "OK" という結果は許されません。特定のホストを ブラックリストから外すには、代わりに DUNNO を使ってください。この機能は Postfix 2.1以降で使えます。
check_helo_ns_access type:table
指定された access(5) データベースで HELO または EHLO ホスト名のDNSサーバを検索し、対応するactionを実行します。 注意: 安全上の理由から "OK" という結果は許されません。特定のホストを ブラックリストから外すには、代わりに DUNNO を使ってください。この機能は Postfix 2.1以降で使えます。
reject_invalid_hostname
HELO または EHLO ホスト名の文法が不正な場合に、要求を拒否します。
invalid_hostname_reject_code には 拒否された要求に対する応答コードを指定します (デフォルト: 501)。
reject_non_fqdn_hostname
HELO または EHLO ホスト名の文法が RFC で要求されているような完全修飾 ドメイン形式ではない場合に、要求を拒否します。
non_fqdn_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 504)。
reject_unknown_hostname
HELO または EHLO ホスト名のDNS AまたはMXレコードがない場合に、 要求を拒否します。
unknown_hostname_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 450)。

この場面で有効な他の制限:

例:

smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname
smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname
smtpd_history_flush_threshold (デフォルト: 100)

EHLO や RSET、DATA の終わりの受信時に消し去られるまでの、 Postfix SMTPサーバコマンドラインヒストリの最大行数。

smtpd_junk_command_limit (デフォルト: 100)

Postfix SMTPサーバがジャンクコマンド (NOOP や VRFY、ETRN、RSET) で エラーカウンタを増加させる前に、リモートの SMTPクライアントが送る ことができるジャンクコマンドの数。ジャンクコマンド数はメールが配送 されるとリセットされます。smtpd_error_sleep_time および smtpd_soft_error_limit 設定パラメータも参照してください。

smtpd_noop_commands (デフォルト: empty)

文法チェックや状態の変更を行わずに、Postfixサーバが "250 OK" と 応答するコマンドのリスト。このリストはPostfix SMTPサーバに組み込まれた いずれのコマンドも上書きします。

smtpd_null_access_lookup_key (デフォルト: <>)

null 送信者アドレスの代わりに SMTP access(5) テーブルで使われる検索キー。

smtpd_policy_service_max_idle (デフォルト: 300s)

アイドル状態の SMTPD ポリシーサービス接続が閉じられるまでの時間。

この機能はPostfix 2.1以降で使えます。

smtpd_policy_service_max_ttl (デフォルト: 1000s)

アクティブな SMTPD ポリシーサービス接続が閉じられるまでの時間。

この機能はPostfix 2.1以降で使えます。

smtpd_policy_service_timeout (デフォルト: 100s)

委譲された SMTPD ポリシーサーバに接続し、書き込み、受信するまでの 時間制限。

この機能はPostfix 2.1以降で使えます。

smtpd_proxy_ehlo (デフォルト: $myhostname)

Postfix SMTPサーバがプロキシフィルタに対して自分を通知する方法。 デフォルトでは、Postfixホスト名が使われます。

この機能はPostfix 2.1以降で使えます。

smtpd_proxy_filter (デフォルト: empty)

メールフィルタリングプロキシサーバのホスト名とTCPポート。 プロキシはPostfix SMTPサーバからの全てのメールを受け取り、他の Postfix SMTPサーバプロセスに結果を渡すと想定されています。

host:port を指定してください。host はIPアドレスやシンボル名として 指定することができます; MX検索はおこなわれません。host や host: が 指定されないと、ローカルマシンであると想定されます。

この機能はPostfix 2.1以降で使えます。

smtpd_proxy_timeout (デフォルト: 100s)

プロキシフィルタに接続し、情報を送受信する時間制限。接続に失敗すると、 クライアントは一般的なエラーメッセージを受け取り、より詳細情報が maillog ファイルにログとして記録されます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

この機能はPostfix 2.1以降で使えます。

smtpd_recipient_limit (デフォルト: 1000)

Postfix SMTPサーバがメッセージ配送要求ごとに受け付ける、最大の 受信者数。

smtpd_recipient_overshoot_limit (デフォルト: 1000)

Postfix SMTPサーバが超過したそれぞれの受信者に対してセッションごとの エラーカウンタを増加させる前に、リモートの SMTPクライアントが $smtpd_recipient_limit で 指定された制限を超えて送ることができる受信者の数。

smtpd_recipient_restrictions (デフォルト: permit_mynetworks, reject_unauth_destination)

Postfix SMTPサーバが RCPT TO コマンドの場面で適用するアクセス制限。

デフォルトでは、Postfix SMTPサーバは以下のものを受け取ります:

重要: このパラメータの設定を変更したら、少なくとも以下のどれか 一つの制限を指定しなければいけません。そうしないと、Postfixは メールの受信を拒否してしまいます:

    reject, defer, defer_if_permit, reject_unauth_destination

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限は RCPT TO コマンドで受け取る受信者アドレスに特有です。

check_recipient_access type:table
指定された access(5) データベースで RCPT TO アドレスやドメイン、親ドメイン、localpart@ を検索し、対応する action を 実行します。
check_recipient_mx_access type:table
指定された access(5) データベースで RCPT TO アドレスのMXホストを検索し、対応する action を実行します。注意: 安全上の 理由から "OK" という結果は許されません。特定のホストをブラックリストから 外すには、代わりに DUNNO を使ってください。この機能はPostfix 2.1以降で 使えます。
check_recipient_ns_access type:table
指定された access(5) データベースで RCPT TO アドレスのDNSサーバを検索し、対応する action を実行します。注意: 安全上の 理由から "OK" という結果は許されません。特定のホストをブラックリストから 外すには、代わりに DUNNO を使ってください。この機能はPostfix 2.1以降で 使えます。
permit_auth_destination
以下のうち一つを満たした場合に、要求を許可します:
  • Postfixがメールを転送する場合: 解決された RCPT TO アドレスが $relay_domains またはその サブドメインにマッチし、送信者指定のルーティング (user@elsewhere@domain) を 含まない場合、
  • Postfixが最終配送先の場合: 解決された RCPT TO アドレスが $mydestination や $inet_interfaces、 $proxy_interfaces、$virtual_alias_domains、 $virtual_mailbox_domains にマッチし、 送信者指定のルーティング (user@elsewhere@domain) を含まない場合。
permit_mx_backup
ローカルメールシステムが RCPT TO アドレスのMXホストの場合に、 要求を許可します。これはローカルメールシステムが最終配送先の場合も 含みます。しかし SMTPサーバは、送信者指定のルーティング情報 (例: user@elsewhere@domain) 付きのアドレスを持つメールは転送しません。 一次MXホストがネットワークブロックのリストにマッチすることを 要求するには、オプションの permit_mx_backup_networks を 使ってください。
注意: Postfixバージョン 2.0 より前のバージョンでは、 permit_mx_backup の使用は推奨されません: 一時的にDNS検索に問題が あった場合にメールを拒否するかもしれません。
reject_non_fqdn_recipient
RCPT TO アドレスが RFC で要求されているような完全修飾ドメイン 形式ではない場合に、要求を拒否します。
non_fqdn_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 504)。
reject_rhsbl_recipient rbl_domain=d.d.d.d
RCPT TO ドメインが rbl_domain 以下の A レコード "d.d.d.d" でリストアップされている場合に、要求を拒否します (Postfixバージョン 2.1以降のみ)。"=d.d.d.d" が 指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている 場合に、要求を拒否します。 .br maps_rbl_reject_code パラメータには 要求を拒否する際の応答コードを (デフォルト: 554)、default_rbl_reply には デフォルトのサーバ応答を、 そして rbl_reply_maps パラメータには rbl_domain でインデックス化されたサーバ応答を持つテーブルを指定します。 この機能はPostfix 2.0以降で使えます。
reject_unauth_destination
以下のどれか一つに当てはまらない場合に、要求を拒否します:
  • Postfixがメールを転送する場合: 解決された RCPT TO アドレスが $relay_domains またはその サブドメインにマッチし、送信者指定のルーティング (user@elsewhere@domain) を 含まない場合、
  • Postfixが最終配送先の場合: 解決された RCPT TO アドレスが $mydestination や $inet_interfaces、 $proxy_interfaces、$virtual_alias_domains、 $virtual_mailbox_domains に マッチし、送信者指定のルーティング (user@elsewhere@domain) を含まない場合。
relay_domains_reject_code パラメータには、 拒否された要求に対する応答コードを指定します (デフォルト: 554)。
reject_unknown_recipient_domain
RCPT TO アドレスにDNS AまたはMXレコードがなく、Postfixがその 受信者アドレスの最終配送先ではない場合に、要求を拒否します。
unknown_address_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450)。一時的なDNSエラーの場合には、応答は常に450です。
reject_unlisted_recipient (Postfix 2.0 の名前: check_recipient_maps)
RCPT TO アドレスがドメインクラスに対する有効な受信者リストにない場合に、 要求を拒否します。詳細は smtpd_reject_unlisted_recipient の記述を参照してください。この機能はPostfix 2.1以降で使えます。
reject_unverified_recipient
RCPT TO アドレスがバウンスするとわかっている場合や、受信者アドレスの 配送先に到達できない場合に、要求を拒否します。アドレス検証情報は verify(8) サーバによって管理されます; 詳細は ADDRESS_VERIFICATION_README ファイルを参照してください。
unverified_recipient_reject_code パラメータには、アドレスがバウンスするとわかっている場合の応答を 指定します (デフォルト: 450、変えても安全だという自信がある場合には 550に変えてください)。Postfixは一時的な問題でプローブが失敗した 場合には450で応答します。この機能はPostfix 2.1以降で使えます。

この場面で有効な他の制限:

例:

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
smtpd_reject_unlisted_recipient (デフォルト: yes)

明示的に reject_unlisted_recipient アクセス制限が指定されていなくても、Postfix SMTPサーバが知らない受信者 アドレス宛のメールを拒否するように要求します。これはPostfixキューが 配送できない MAILER-DAEMON メッセージで埋め尽くされることを防ぎます。

この機能はPostfix 2.1以降で使えます。

smtpd_reject_unlisted_sender (デフォルト: no)

明示的に reject_unlisted_sender アクセス制限が指定されていなくても、Postfix SMTPサーバが知らない送信者 アドレスからのメールを拒否するように要求します。これは急激に増加したワームや ウィルスからの騙られたメールを遅くすることができます。

この機能はPostfix 2.1以降で使えます。

smtpd_restriction_classes (デフォルト: empty)

ユーザが定義した、アクセス制限のまとまりの別名。この別名は smtpd_recipient_restrictions などや Postfix access(5) テーブルの右側部分で 指定することができます。

主な応用方法の一つに、受信者ごとの UCE 制御の実装があります。他の例は RESTRICTION_CLASS_README ドキュメントを参照してください。

smtpd_sasl_application_name (デフォルト: smtpd)

SASL サーバの初期化に使われるアプリケーション名。これは SASL 設定 ファイルの名前を制御します。デフォルト値は smtpd であり、 smtpd.conf という名前の SASL 設定ファイルに対応します。

この機能はPostfix 2.1以降で使えます。

smtpd_sasl_auth_enable (デフォルト: no)

Postfix SMTPサーバの SASL 認証を有効にします。デフォルトでは、Postfix SMTPサーバは認証を使いません。

リモートの SMTPクライアントが認証されると、リレーアクセスを許可するのに 次のように permit_sasl_authenticated アクセス制限が使えます:

    smtpd_recipient_restrictions =
        permit_mynetworks, permit_sasl_authenticated, ...

認証されていないクライアントからの全ての SMTP 接続を拒否するには、 "smtpd_delay_reject = yes" (これはデフォルトです) を指定し、以下のものを 使います:

    smtpd_client_restrictions = permit_sasl_authenticated, reject

SASL の設定と操作の詳細は SASL_README ファイルを 参照してください。

smtpd_sasl_exceptions_networks (デフォルト: empty)

Postfixが AUTH サポートを提供しない SMTPクライアント。

AUTH が提供されるたびに、必要かどうかにかかわらずログインとパスワードを 要求してしまうバグを持ったクライアント (少なくとも Netscape 4) が あります。これを回避するために、例えばPostfixがローカルの クライアントに AUTH を提供しないようにするためには $mynetworks を 指定します。

network/netmask パターンを空白やカンマで区切ったリストを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 "/file/name" や "type:table" パターンを指定することもできます。 "/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはテーブル エントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。 次の行を空白で始めることで長い行を継続します。

注意: IPバージョン6アドレス情報は smtpd_sasl_exceptions_networks 値や "/file/name" で指定されるファイル内で [] の中に指定 しなければいけません。IPバージョン6アドレスは ":" 文字を含んでいるため、 そうしないと "type:table" パターンと 混乱してしまいます。

例:

smtpd_sasl_exceptions_networks = $mynetworks

この機能はPostfix 2.1以降で使えます。

smtpd_sasl_local_domain (デフォルト: empty)

SASL 認証 realm の名前。

デフォルトでは、ローカル認証 realm 名は null 文字列です。

例:

smtpd_sasl_local_domain = $mydomain
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options (デフォルト: noanonymous)

Postfix SMTPサーバがクライアントに提供する認証メカニズムを 制限します。使用できる認証メカニズムのリストはシステムに依存します。

以下のゼロ個以上を指定します:

noplaintext
平文パスワードを使う認証方法を許可しません。
noactive
non-dictionary active 攻撃に脆弱な認証方法を許可しません。
nodictionary
passive dictionary 攻撃に脆弱な認証方法を許可しません。
noanonymous
匿名ログインを許可しません。
mutual_auth
相互認証を提供する方法のみを許可します (SASL バージョン 1 では 使えません)。

デフォルトでは、Postfix SMTPサーバは平文パスワードを受け付けますが、 匿名ログインは受け付けません。

警告: クライアントはサーバが案内した順番 (例えば PLAIN ANONYMOUS CRAM-MD5) で認証方法を試すようであり、平文パスワードを無効にすると、 これはクライアントが CRAM-MD5 を使えたとしても匿名でログインしようと してしまうことを意味します。そのため、平文ログインを無効にする場合、 匿名ログインも無効にしてください。Postfixは匿名ログインを認証とは 扱いません。

例:

smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options (デフォルト: $smtpd_sasl_security_options)

Postfix SMTPサーバがTLS暗号化されたSMTPセッションに使う、SASL認証 セキュリティオプション。

smtpd_sender_login_maps (デフォルト: empty)

送信者 (MAIL FROM) アドレスを持つ SASL ログイン名の、オプションの 検索テーブル。

ゼロ個以上の "type:table" 検索テーブルを 指定します。DBやDBMのようなインデックス化されたファイルからの検索や、NISや LDAP、SQLのようなネットワーク上のテーブルからの検索では、\fIuser@domain という 送信者アドレスで次のように検索操作がおこなわれます:

1) user@domain
このテーブル検索は常におこなわれ、最も高い優先度を持ちます。
2) user
このテーブル検索は送信者アドレスの domain 部分が $myorigin や $mydestination、$inet_interfaces、 $proxy_interfaces にマッチした ときのみおこなわれます。
3) @domain
このテーブル検索は最後におこなわれ、最も低い優先度を持ちます。

どの場合でも、テーブル検索の結果は "見つからない" か、カンマや空白で 区切られた SASL ログイン名のリストのどちらかでなければいけません。

smtpd_sender_restrictions (デフォルト: empty)

Postfix SMTPサーバが MAIL FROM コマンドの場面で適用する、オプションの 制限。

デフォルトでは全てを許可します。

制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。

以下の制限は MAIL FROM コマンドで受け取る送信者アドレスに特有です。

check_sender_access type:table
指定された access(5) データベースで MAIL FROM アドレスやドメイン、親ドメイン、localpart@ を検索し、対応する action を 実行します。
check_sender_mx_access type:table
指定された access(5) データベースで MAIL FROM アドレスのMXホストを検索し、対応する action を実行します。注意: 安全上の 理由から "OK" という結果は許されません。特定のホストをブラックリストから 外すには、代わりに DUNNO を使ってください。この機能はPostfix 2.1以降で 使えます。
check_sender_ns_access type:table
指定された access(5) データベースで MAIL FROM アドレスのDNSサーバを検索し、対応する action を実行します。注意: 安全上の 理由から "OK" という結果は許されません。特定のホストをブラックリストから 外すには、代わりに DUNNO を使ってください。この機能はPostfix 2.1以降で 使えます。
reject_authenticated_sender_login_mismatch
認証されたクライアントのみに reject_sender_login_mismatch 制限を 強制します。この機能はPostfix 2.1以降で使えます。
reject_non_fqdn_sender
MAIL FROM アドレスが RFC で要求されているような完全修飾ドメイン 形式ではない場合に、要求を拒否します。
non_fqdn_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 504)。
reject_rhsbl_sender rbl_domain=d.d.d.d
MAIL FROM ドメインが rbl_domain 以下の A レコード Id.d.d.d" でリストアップされている場合に、要求を拒否します (Postfixバージョン 2.1以降のみ)。"=d.d.d.d" が 指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている 場合に、要求を拒否します。 .br maps_rbl_reject_code パラメータには 要求を拒否する際の応答コードを (デフォルト: 554)、default_rbl_reply には デフォルトのサーバ応答を、そして rbl_reply_maps パラメータには rbl_domain でインデックス化されたサーバ応答を持つ テーブルを指定します。この機能はPostfix 2.0以降で使えます。
reject_sender_login_mismatch
$smtpd_sender_login_maps が MAIL FROM アドレスの所有者を指定しているが、クライアントが MAIL FROM アドレスの 所有者として (SASL) ログインしていない場合に、要求を拒否します; または、 クライアントが (SASL) ログインしたものの、クライアントのログイン名が $smtpd_sender_login_maps に一致する MAIL FROM アドレスを所有していない場合に、要求を拒否します。
reject_unauthenticated_sender_login_mismatch
認証されていないクライアントのみに reject_sender_login_mismatch 制限を強制します。この機能はPostfix 2.1以降で使えます。
reject_unknown_sender_domain
MAIL FROM アドレスにDNS AまたはMXレコードがなく、Postfixがその 送信者アドレスの最終配送先ではない場合に、要求を拒否します。
unknown_address_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450)。一時的なDNSエラーの場合には、応答は常に450です。
reject_unlisted_sender
MAIL FROM アドレスがドメインクラスに対する有効な受信者リストにない 場合に、要求を拒否します。詳細は smtpd_reject_unlisted_sender の 記述を参照してください。この機能はPostfix 2.1以降で使えます。
reject_unverified_sender
MAIL FROM アドレスがバウンスするとわかっている場合や、送信者 アドレスの配送先に到達できない場合に、要求を拒否します。アドレス 検証情報は verify(8) サーバによって管理されます; 詳細は ADDRESS_VERIFICATION_README ファイルを 参照してください。
unverified_sender_reject_code パラメータには、 アドレスがバウンスするとわかっている場合の応答を指定します (デフォルト: 450, 変えても安全だという自信がある場合には550に変えてください)。 Postfixは一時的な問題でプローブが失敗した場合には450で応答します。 この機能はPostfix 2.1以降で使えます。

この場面で有効な他の制限:

例:

smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_sender_restrictions = reject_unknown_sender_domain,
    check_sender_access hash:/etc/postfix/access
smtpd_soft_error_limit (デフォルト: 10)

Postfix SMTPサーバが全ての応答を遅くする前に、リモートSMTP クライアントがメールの配送なしに発生させることが許されるエラーの数。

smtpd_starttls_timeout (デフォルト: 300s)

Postfix SMTPサーバがTLSハンドシェイクの開始からシャットダウン手順の 間に読み書きする操作の時間制限。

smtpd_timeout (デフォルト: 300s)

Postfix SMTPサーバが応答を送って、リモートSMTPクライアントの要求を 受け取るまでの時間制限。

注意: SMTP時間制限を非常に大きな値にする場合、一般的な ipc_timeout パラメータも更新する必要があるかもしれません。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

smtpd_tls_CAfile (デフォルト: empty)

Postfix SMTPサーバ証明書を発行した認証局 (CA) の証明書を持つファイル。 これはCA証明書がサーバ証明書ファイルの中にまだ存在しない場合にのみ必要です。 このファイルには信頼した他のCAの証明書を含むこともできます。chrootモードで 使いたければ、信頼したCAのリストに対してこのファイルを使わなければ いけません。

例:

smtpd_tls_CAfile = /etc/postfix/CAcert.pem
smtpd_tls_CApath (デフォルト: empty)

Postfix SMTPサーバがリモートのSMTPクライアントに、クライアント証明書を 検証する目的で提供する、PEMフォーマットの認証局証明書を持つディレクトリ。 必要な "hash" リンク、例えば "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs" を作るのを忘れないでください。

このオプションをchrootモードで使うには、このディレクトリ (もしくは コピー) がchroot監獄の中になければいけません。この場合、CA証明書は クライアントには提供されず、その結果、例えばNetscapeクライアントは それらのCAによって発行された証明書を出さないかもしれません。 そのためこの機能の利用はお勧めできません。

例:

smtpd_tls_CApath = /etc/postfix/certs
smtpd_tls_ask_ccert (デフォルト: no)

リモートSMTPクライアントにクライアント証明書を依頼します。この情報は 例えば permit_tls_clientcerts 機能を使っての、証明書ベースのメールリレーに必要です。

Netscapeのようなクライアントには、(/etc/postfix/certs のCAのリストの) 証明書が使えないと文句を言うか、複数のクライアント証明書を提供して そこから選べるようにするものもあります。これは面倒なので、デフォルトでは このオプションは "off" になっています。

smtpd_tls_auth_only (デフォルト: no)

Postfix SMTPサーバでTLS暗号化がオプションになっていると、暗号化されていない 接続ではSASL認証を通知したり受け付けたりしません。

smtpd_tls_ccert_verifydepth (デフォルト: 5)

リモートSMTPクライアント証明書の検証の深さ。ローカルのCAファイルに リストアップされたCAによって直接発行された証明書であれば、検証の深さは 1で十分です。デフォルト値はより長いチェーンでも十分な値です (ルートCAは 実際に証明書を発行する特別なCAを発行して...)。

smtpd_tls_cert_file (デフォルト: empty)

PEMフォーマットの、Postfix SMTPサーバRSA証明書を持つファイル。 このファイルはサーバのプライベートキーも含んでいるかもしれません。

RSAおよびDSA証明書の両方がサポートされています。両方のタイプが存在すると、 使われる暗号はクライアントに存在する証明書がどちらかで決まります。 特に暗号を選択していないNetscapeおよびOpenSSLクライアントは、RSA証明書が 好みです。

証明書を検証するには、CA証明書 (証明書チェーンの場合はすべてのCA証明書) が 使えなければいけません。これらの証明書をサーバ証明書に、先にサーバ証明書で 続いて発行CAというように加えておくべきです。

例: "server.dom.ain" の証明書は、自身が "root CA" の証明書を持つ "intermediate CA" によって発行されました。"cat server_cert.pem intermediate_CA.pem root_CA.pem > server.pem" として、server.pem ファイルを作成します。

これらのCA自身によって発行されたS証明書を受け入れたければ、CA証明書も smtpd_tls_CAfile に加えます。 その場合には smtpd_tls_dcert_filesmtpd_tls_cert_file の中にそれらを持つ必要はありません。

ここで与えられた証明書はSSLサーバ証明書として使えるものでなければならず、 そのために "openssl verify -purpose sslserver \&..." テストに通らなければ いけません。

例:

smtpd_tls_cert_file = /etc/postfix/server.pem
smtpd_tls_cipherlist (デフォルト: empty)

Postfix SMTPサーバTLS暗号の選択スキームを制御します。詳細は OpenSSL ドキュメントを参照してください。注意: パラメータ値の前後に "" 引用符を 使わないでください。

smtpd_tls_dcert_file (デフォルト: empty)

PEMフォーマットでの、Postfix SMTPサーバ証明書を持つファイル。 サーバのプライベートキーも含むかもしれません。

より詳細は smtpd_tls_cert_file 以下の議論を参照してください。

例:

smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
smtpd_tls_dh1024_param_file (デフォルト: empty)

Postfix SMTPサーバがEDH暗号で使うDHパラメータを持つファイル。

他のTLSパッケージで配布されたパラメータセットと厳密に同じものを 使うのではなく、次のようなコマンドで自分自身のパラメータセットを 生成する方がより安全です:

openssl gendh -out /etc/postfix/dh_1024.pem -2 -rand /var/run/egd-pool 1024

実際のエントロピーソースは異なるかもしれません。/dev/random を持っている システムもあります; それがないシステムでは http://www.lothar.com/tech/crypto/ で得られる "Entropy Gathering Daemon EGD" の利用を検討してもよいでしょう。

例:

smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
smtpd_tls_dh512_param_file (デフォルト: empty)

Postfix SMTPサーバがEDH暗号で使うDHパラメータを持つファイル。

smtpd_tls_dh1024_param_file 設定パラメータの議論も参照してください。

例:

smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
smtpd_tls_dkey_file (デフォルト: $smtpd_tls_dcert_file)

PEMフォーマットでの、Postfix SMTPサーバDSAプライベートキーを持つファイル。 このファイルは $smtpd_tls_dcert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。

プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワードなしで アクセスできなければいけません。

smtpd_tls_key_file (デフォルト: $smtpd_tls_cert_file )

PEMフォーマットでの、Postfix SMTPサーバRSAプライベートキーを持つファイル。 このファイルは $smtpd_tls_cert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。

プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワード なしでアクセスできなければいけません。

smtpd_tls_loglevel (デフォルト: 0)

TLS行動に関するPostfix SMTPサーバのさらなるロギングを有効にします。 それぞれのログレベルは、より低いログレベルで記録される情報も含みます。

0 TLS動作に関するログ記録を無効にします。
1 TLSハンドシェイクと証明書の情報をログに記録します。
2 TLSネゴシエーションの間のレベルをログに記録します。
3 TLSネゴシエーションプロセスの16進数およびASCIIダンプを ログに記録します。
4 STARTTLS以降の通信の16進数およびASCIIダンプを完全に ログに記録します。

問題があったときのみ "smtpd_tls_loglevel = 3" を使ってください。ログレベル4は使わないことを強くおすすめします。

smtpd_tls_received_header (デフォルト: no)

Postfix SMTPサーバがプロトコルや使われた暗号、クライアントCommonNameや クライアント証明書を発行したCommonNameといった情報を含む Received: メッセージヘッダを生成するように要求します。これは他のメールサーバを 通っていく間に情報が書き換えられるかもしれないため、デフォルトでは 無効になっています。最終配送先によって記録された情報のみが信頼できます。

smtpd_tls_req_ccert (デフォルト: no)

TLS暗号化が強制された場合に、TLS接続の続行を許可するためにリモートSMTP クライアント証明書を要求します。このオプションは "smtpd_tls_ask_ccert = yes" という指定もなされます。

TLS暗号化がオプションの場合、リモートSMTPクライアントは単にSTARTTLSを 全く使わないことによって制限をバイパスすることができます。そのため、 TLS接続は "smtpd_tls_ask_ccert = yes" だけが指定されているように扱われます。

smtpd_tls_session_cache_databa se (デフォルト: empty)

オプションのPostfix SMTPサーバTLSセッションキャッシュを含むファイルの 名前。btreesdbm のように、enumerationをサポートした データベースの種類を指定します; 並列アクセスをサポートしている必要は ありません。ファイルが存在しないと作成されます。

注意: dbm データベースは適しません。TLSセッションオブジェクトは 大きすぎます。

例:

smtpd_tls_session_cache_database = btree:/var/postfix/smtpd_scache
smtpd_tls_session_cache_timeout (デフォルト: 3600s)

Postfix SMTPサーバTLSセッションキャッシュ情報が期限切れとなる 時間。キャッシュの整理は $smtpd_tls_session_cache_timeout 秒ごとに定期的に実行されます。

smtpd_tls_wrappermode (デフォルト: no)

Postfix SMTPサーバをSTARTTLSコマンドを使うのではなく、非標準の "ラッパー" モードで走らせます。

このサービスをサポートしたければ、master.cf で特別なポートを有効にし、 SMTサーバのコマンドラインで "-o smtpd_tls_wrappermode=yes" を指定してください。以前はこの目的のためにポート465 (smtps) が選ばれて いました。

smtpd_use_tls (デフォルト: no)

日和見モード: STARTTLSサポートをクライアントに通知はしますが、 クライアントがTLS暗号化を使うことは要求しません。

注意: "sendmail -bs" から呼び出されると、Postfixはサーバの プライベートキーにアクセスする権限がないため、STARTTLSを提供しません。 これは意図された振る舞いです。

soft_bounce (デフォルト: no)

送信者に返されてしまうメールをキューにとどめておくための安全ネット。 このパラメータはローカルで生成されるバウンスを無効にし、5xx 応答コードを 4xx に変えることでPostfix SMTPサーバがメールを恒久的に拒否して しまわないようにします。しかし、soft_bounce では アドレス書き換えの間違いやメールルーティングの間違いを直すことはできません。

例:

soft_bounce = yes
stale_lock_time (デフォルト: 500s)

古いメールボックスの排他的ロックファイルが取り除かれるまでの時間。 これはファイルまたはメールボックスへの配送に使われます。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

strict_7bit_headers (デフォルト: no)

メッセージヘッダに8ビットテキストを持つメールを拒否します。これは 不完全に書かれたアプリケーションからのメールをブロックします。

正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。

この機能はPostfix 2.0以降で使えます。

strict_8bitmime (デフォルト: no)

strict_7bit_headersstrict_8bitmime_body の 両者を有効にします。

正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。

この機能はPostfix 2.0以降で使えます。

strict_8bitmime_body (デフォルト: no)

8 ビット MIME コンテンツエンコード情報のない 8 ビットメッセージ 本体テキストを拒否します。これは不完全に書かれたアプリケーションからの メールをブロックします。

残念ながら、これは要求に有効な 8 ビット MIME メールを含んだ majordomo 承認要求も拒否してしまいます。また、(例えば qmail や古いバージョンの Postfixからのバウンスのように) 8 ビットコンテンツを MIME カプセル化 しないメーラからのバウンスを拒否します。

正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。

この機能はPostfix 2.0以降で使えます。

strict_mime_encoding_domain (デフォルト: no)

message/* または multipart/* MIME コンテンツタイプに対して 無効な Content-Transfer-Encoding: 情報を持つメールを拒否します。 これは不完全に書かれたアプリケーションからのメールをブロックします。

一回違反した後のメールを拒否してしまうため、この機能を一般的な目的の メールサーバで有効にすべきではありません。

この機能はPostfix 2.0以降で使えます。

strict_rfc821_envelopes (デフォルト: no)

SMTP MAIL FROM および RCPT TO コマンドで受け取るアドレスが <> で 括られていて、そのアドレスが RFC 822 形式のコメントやフレーズが含まれていないことを要求します。これは不完全に 書かれたアプリケーションからのメールをブロックします。

デフォルトでは、Postfix SMTPサーバは MAIL FROM および RCPT TO アドレスの RFC 822 文法を 受け入れます。

sun_mailtool_compatibility (デフォルト: no)

古い SUN mailtool 互換機能。代わりに "mailbox_delivery_lock = dotlock" を 使ってください。

swap_bangpath (デフォルト: yes)

"site!user" から "user@site" への書き換えを有効にします。これは マシンが UUCP ネットワークに接続されている場合に必要です。これは デフォルトで有効になっています。

注意: Postfixバージョン2.2では、メッセージヘッダアドレスの 以下のいずれかに当てはまる場合にのみなされます:

Postfix 2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。

例:

swap_bangpath = no
syslog_facility (デフォルト: mail)

Postfixロギングの syslog facility 名。syslog.conf(5) で定義された facility を指定します。デフォルト facility は "mail" です。

警告: デフォルトではない syslog_facility 設定はPostfixプロセスの初期化が終わった後で有効になります。初期化している間の エラーはデフォルトの facility でログに記録されます。コマンドライン引数を パースしている際のエラーやPostfix main.cf 設定ファイルにアクセス している間のエラーがその例です。

syslog_name (デフォルト: postfix)

例えば "smtpd" が "postfix/smtpd" となるようにするために syslog レコードのプロセス名の前に付けられるメールシステムの名前。

警告: デフォルトではない syslog_name 設定は Postfixプロセスの初期化が終わった後で有効になります。初期化している間の エラーはデフォルトの facility でログに記録されます。コマンドライン引数を パースしている際のエラーやPostfix main.cf 設定ファイルにアクセス している間のエラーがその例です。

tls_daemon_random_bytes (デフォルト: 32)

smtp(8) または smtpd(8) プロセスが内部擬似乱数生成器 (PRNG) に種を与えるために tlsmgr(8) サーバから要求する擬似乱数のバイト数。デフォルトの32バイト (256ビットと等価) は 128ビット (または168ビット) のセッションキーを生成するのに十分です。

tls_random_bytes (デフォルト: 32)

メモリ内乱数生成器 (PRNG) プールに種を(再び)与える際に、 tlsmgr(8) が $tls_random_source から読み込むバイト数。デフォルトの32バイト (256ビット) は128ビットの 対称キーには十分によい値です。EGDもしくはデバイスファイルを使う場合、 最大の255バイトが読み込まれます。

tls_random_exchange_name (デフォルト: ${config_directory}/prng_exch)

tlsmgr(8) が管理する擬似乱数生成器 (PRNG) 状態ファイルの名前。ファイルが存在しなければ作成され、その長さは1024バイトに 固定されます。

このファイルはPostfixによって改変されるため、$config_directory 以下ではなく、おそらく /var ファイルシステムに保存するべきです。chroot監獄の 中に置くべきではありません。

tls_random_prng_update_period (デフォルト: 3600s)

$tls_random_exchange_name で指定されたファイルに擬似乱数生成器 (PRNG) の状態を tlsmgr(8) が保存しようとする時間間隔。

tls_random_reseed_period (デフォルト: 3600s)

tlsmgr(8) が外部ソースからメモリ内擬似乱数 生成器 (PRNG) プールに再び種を与えるまでの最大時間間隔。実際に再び種を 与えようとする時間間隔は0から指定された時間の間で、PRNGを使って計算 されます。

tls_random_source (デフォルト: "postconf -d" の出力を参照)

メモリ内 tlsmgr(8) 擬似乱数生成器 (PRNG) プールへの外部エントロピーソース。確実にnon-blockingソースを指定して ください。このソースが通常のファイルではない場合、エントロピーソース 形式を前に付けなければいけません: EGD互換ソケットインターフェースには egd:/path/to/egd_socket を、デバイスファイルには dev:/path/to/device のようにします。

注意: OpenBSDシステムでは、/dev/urandom がタイムアウトエラーを出す場合、 /dev/arandom を指定してください。

trace_service_name (デフォルト: trace)

trace(8) サービスの名前。このサービスはメール 配送の記録を管理し、"sendmail -v" で冗長な配送が要求された際に メール配送レポートを生成します。

この機能はPostfix 2.1以降で使えます。

transport_maps (デフォルト: empty)

受信者アドレスから (メッセージ配送 transport、next-hop 配送先) への マッピングを持つ、オプションの検索テーブル。詳細は transport(5) を 参照してください。

ゼロ個以上の "type:table" 検索テーブルを指定してください。この機能を ローカルファイルで使うのであれば、変更後に "postmap /etc/postfix/transport" を実行してください。

例:

transport_maps = dbm:/etc/postfix/transport
transport_maps = hash:/etc/postfix/transport
transport_retry_time (デフォルト: 60s)

Postfixキューマネージャが異常なメッセージ配送 transport に接触 しようとする時間間隔。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

trigger_timeout (デフォルト: 10s)

(例えば pickup(8)qmgr(8) デーモンのような) Postfixデーモンにトリガーを送る制限時間。この時間制限は メールシステムの負荷が大きい場合にプログラムが動かなくならないようにします。

時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。

undisclosed_recipients_header (デフォルト: To: undisclosed-recipients:;)

メッセージに To: または Cc: メッセージヘッダがない場合にPostfix cleanup(8) サーバが挿入するメッセージヘッダ。

unknown_address_reject_code (デフォルト: 450)

送信者または受信者アドレスが reject_unknown_sender_domain または reject_unknown_recipient_domain 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

unknown_client_reject_code (デフォルト: 450)

有効なアドレス <=> 名前のマッピングのないクライアントが reject_unknown_client 制限で 拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

unknown_hostname_reject_code (デフォルト: 450)

HELO または EHLO コマンドで指定されたホスト名が reject_unknown_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

unknown_local_recipient_reject_code (デフォルト: 550)

受信者アドレスがローカルで、$local_recipient_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合に、Postfix SMTP サーバが応答する数字のコード。ドメインが $mydestination や $proxy_interfaces、$inet_interfaces に マッチする場合に、受信者アドレスをローカルと見なします。

デフォルトの設定は 550 (メールを拒否します) ですが、最初は 450 を使って local_recipient_maps 設定が 問題ないかどうか確認する時間を取ると、より安全です。

例:

unknown_local_recipient_reject_code = 450

この機能はPostfix 2.0以降で使えます。

unknown_relay_recipient_reject_code (デフォルト: 550)

受信者アドレスが $relay_domains に マッチするが、relay_recipient_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合に、 Postfix SMTPサーバが応答する数字のコード。

この機能はPostfix 2.0以降で使えます。

unknown_virtual_alias_reject_code (デフォルト: 550)

受信者アドレスが $virtual_alias_domains にマッチするが、 $virtual_alias_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合のSMTP サーバの応答コード。

この機能はPostfix 2.0以降で使えます。

unknown_virtual_mailbox_reject_code (デフォルト: 550)

受信者アドレスが $virtual_mailbox_domains に マッチするが、$virtual_mailbox_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合のSMTP サーバの応答コード。

この機能はPostfix 2.0以降で使えます。

unverified_recipient_reject_code (デフォルト: 450)

受信者アドレスが reject_unverified_recipient 制限によって拒否された場合の、数字のPostfix SMTPサーバ応答コード。

Postfixの他の場所と異なり、それでもアドレスを受け付けるために250を指定する ことができます。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

この機能はPostfix 2.1以降で使えます。

unverified_sender_reject_code (デフォルト: 450)

送信者アドレスが reject_unverified_sender 制限によって拒否された場合の、数字のPostfix SMTPサーバ応答コード。

Postfixの他の場所と異なり、それでもアドレスを受け付けるために250を指定する ことができます。

RFC 821 を完全に理解して いないのであれば、これを変更しないでください。

この機能はPostfix 2.1以降で使えます。

verp_delimiter_filter (デフォルト: -=+)

PostfixがPostfix sendmail(1) コマンドラインや SMTPコマンドで VERP 区切り文字として受け付ける文字。

この機能はPostfix 1.1 以降で使えます。

virtual_alias_domains (デフォルト: $virtual_alias_maps)

指定されたバーチャルエイリアスドメイン、つまり全てのアドレスが他の ローカルまたはリモートドメインのアドレスにエイリアスされるドメインの リストに対して、Postfixが最終配送先になります。SMTPサーバは $virtual_alias_maps で 受信者アドレスを確認し、存在しない受信者を拒否します。 ADDRESS_CLASS_README ファイルの バーチャルエイリアスドメインクラスも参照してください。

この機能はPostfix 2.0以降で使えます。デフォルト値はPostfix 1.1 と 後方互換です。

デフォルト値は $virtual_alias_maps に なっており、バーチャルエイリアスドメインに 関する情報を全て1カ所にとどめることができるようになっています。たくさんの ユーザがいる場合、よく更新される情報 (バーチャルアドレス -> ローカルまたは リモートアドレスのマッピング) をあまり更新されない情報 (バーチャルドメイン名の リスト) から分ける方がよいでしょう。

ホストまたはドメイン名、"/file/name" や "type:table" パターンをカンマや空白で区切って指定してください。"/file/name" パターンは その内容で置き換えられます; "type:table" 検索テーブルはドメインまたはその親ドメインが検索キーとして現れるとマッチします。 次の行を空白で始めることで長い行を継続します。

これ以上の情報は VIRTUAL_READMEADDRESS_CLASS_README ドキュメントも 参照してください。

例:

virtual_alias_domains = virtual1.tld virtual2.tld
virtual_alias_expansion_limit (デフォルト: 1000)

それぞれの元の受信者から virtual エイリアス展開で生成されるアドレスの 最大数。

この機能はPostfix 2.1以降で使えます。

virtual_alias_maps (デフォルト: $virtual_maps)

特定のメールアドレスやドメインを他のローカルまたはリモートアドレスに エイリアスする、オプションの検索テーブル。テーブルの書式や検索は virtual(5) に記述されています。Postfixの アドレス操作の概要については ADDRESS_REWRITING_README ドキュメントを参照してください。

この機能はPostfix 2.0以降で使えます。デフォルト値はPostfix 1.1 と 後方互換です。

インデックス化されたファイルでこの機能を使う場合、ファイルを更新したら "postmap /etc/postfix/virtual" を実行してください。

例:

virtual_alias_maps = dbm:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_recursion_limit (デフォルト: 1000)

virtual エイリアス展開の最大のネストの深さ。現在は再帰制限は展開 グラフの左側の分岐のみに適用されるため、最悪の場合ツリーの深さは 展開および再帰制限の合計に達します。これは将来変更される予定です。

この機能はPostfix 2.1以降で使えます。

virtual_destination_concurrency_limit (デフォルト: $default_destination_concurrency_limit)

virtual メッセージ配送 transport を使った同じ配送先への、最大の 並列配送数。この制限はキューマネージャによって強制されます。メッセージ 配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

virtual_destination_recipient_limit (デフォルト: $default_destination_recipient_limit)

virtual メッセージ配送 transport を使った配送ごとの、最大の受信者数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。

このパラメータの値を1に設定すると、対応する配送先ごとの並列制限は ドメインごとの並列度から受信者ごとの並列度へと virtual_destinat ion_concurrency_limit の 意味を変えます。

virtual_gid_maps (デフォルト: empty)

virtual(8) メールボックス配送に使う受信者ごとの グループIDを持つ検索テーブル。

検索テーブルには、指定されたドメインで特定の "user@domain.tld" エントリを持たないどのユーザにもマッチする "@domain.tld" を左側部分に 指定します。

受信者アドレスにオプションの拡張アドレス (user+foo@domain.tld) が ついていると、virtual(8) 配送エージェントは まず完全なアドレスを検索し、検索に失敗すると、拡張を外したアドレス (user@domain.tld) を検索します。

注意 1: セキュリティ上の理由で、セキュリティホールを開けてしまうかも しれないため、virtual(8) 配送エージェントは 正規表現検索テーブルでの $1 などの正規表現置換を使えません。

注意 2: セキュリティ上の理由で、セキュリティホールを開けてしまうかも しれないため、virtual(8) 配送エージェントは proxymap(8) サービスの使用要求は静かに 無視します。そのかわりテーブルを直接開きます。Postfixバージョン2.2以前では virtual(8) 配送エージェントは致命的エラーで 終了します。

virtual_mailbox_base (デフォルト: empty)

virtual(8) 配送エージェントが $virtual_mailbox_maps テーブル検索からの結果の全てのパス名前に付けるプレフィックス。これは制御不能な マップがファイルシステムをメールボックスで散らかさないように するための安全策です。virtual_mailbox_base を "/" にすることもできますが、この設定は推奨しません。

例:

virtual_mailbox_base = /var/mail
virtual_mailbox_domains (デフォルト: $virtual_mailbox_maps)

Postfixは指定されたドメインのリストの最終配送先になります; メールは $virtual_transport メール配送transportで配送されます。 デフォルトでは、これはPostfix virtual(8) 配送エージェントです。SMTPサーバは $virtual_mailbox_maps で 受信者アドレスを確認し、存在しない受信者宛のメールを拒否します。 ADDRESS_CLASS_README ファイルの バーチャルメールボックスドメインクラスも参照してください。

このパラメータは mydestination 設定パラメータと同じ文法を期待します。

この機能はPostfix 2.0以降で使えます。デフォルト値はPostfix 1.1 と 後方互換です。

virtual_mailbox_limit (デフォルト: 51200000)

個々のメールボックスまたは maildir ファイルの、バイト単位の最大 サイズ、またはゼロ (制限なし)。

virtual_mailbox_lock (デフォルト: "postconf -d" の出力を参照)

配送を試行する前に UNIX 形式の virtual(8) メールボックスをロックする方法。使用可能なファイルロック方法のリストを見るには、 "postconf -l" コマンドを使ってください。

アプリケーションレベルでのロックがなくても安全であるため、maildir 形式の配送ではこの設定は無視されます。

注意 1: dotlock 方式では、受信者メールボックスファイルの 親ディレクトリに受信者の UID または GID の書き込みアクセス権が必要です。

注意 2: このパラメータのデフォルトの設定はシステムに依存します。

virtual_mailbox_maps (デフォルト: empty)

$virtual_mailbox_domains にマッチするドメインの全ての有効なアドレスを持つ、オプションの検索テーブル。

検索テーブルには、指定されたドメインで特定の "user@domain.tld" エントリを持たないどのユーザにもマッチする "@domain.tld" を左側部分に 指定します。

virtual(8) 配送エージェントは受信者ごとの メールボックスまたは maildir パス名を検索するためにこのテーブルを使います。 検索結果がスラッシュ ("/") で終わっていると maildir 形式の配送が実行され、 それ以外のパスは UNIX 形式のメールボックスファイルが想定されます。 $virtual_mailbox_base が 無条件にこのパスの前に付けられることに注意してください。

受信者アドレスにオプションの拡張アドレス (user+foo@domain.tld) が ついていると、virtual(8) 配送エージェントは まず完全なアドレスを検索し、検索に失敗すると、拡張を外したアドレス (user@domain.tld) を検索します。

注意 1: セキュリティ上の理由で、セキュリティホールを開けてしまうかも しれないため、virtual(8) 配送エージェントは 正規表現検索テーブルでの $1 などの正規表現置換を使えません。

注意 2: セキュリティ上の理由で、virtual(8) 配送エージェントは proxymap(8) サーバを 使えという要求は静かに無視します。そのかわりテーブルを直接開きます。 Postfixバージョン2.2以前では、virtual(8) 配送 エージェントは致命的エラーで終了します。

virtual_maps (デフォルト: empty)

a) 全てのアドレスが他のローカルもしくはリモートドメインのアドレスに エイリアスされるドメイン名と、b) 他のローカルもしくはリモートドメインの アドレスにエイリアスされるアドレスを持つ、オプションの検索テーブル。 Postfixバージョン2.0より前で使えます。Postfix 2.0以降では、 virtual_alias_domainsvirtual_alias_maps という 2つの制御に分かれて置き換えられました。

virtual_minimum_uid (デフォルト: 100)

virtual(8) 配送エージェントが $virtual_uid_maps テーブル 検索からの結果として受け付ける最小のユーザ ID の値。この値よりも 小さな返り値は拒否され、メッセージは遅延されます。

virtual_transport (デフォルト: virtual)

$virtual_mailbox_domains パラメータ値にマッチするドメイン宛の、デフォルトのメール配送 transport。 この情報は transport(5) テーブルで上書きされます。

transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照して ください。

この機能はPostfix 2.0以降で使えます。

virtual_uid_maps (デフォルト: empty)

virtual(8) 配送エージェントが受信者のメールボックスへの書き込みに 使用する受信者ごとのユーザ ID を持つ検索テーブル。

検索テーブルには、指定されたドメインで特定の "user@domain.tld" エントリを持たないどのユーザにもマッチする "@domain.tld" を左側部分に 指定します。

受信者アドレスにオプションの拡張アドレス (user+foo@domain.tld) が ついていると、virtual(8) 配送エージェントはまず完全なアドレスを検索し、 検索に失敗すると、拡張を外したアドレス (user@domain.tld) を検索します。

注意 1: セキュリティ上の理由で、セキュリティホールを開けてしまうかも しれないため、virtual(8) 配送エージェントは正規表現検索テーブルでの $1 などの正規表現置換を使えません。

注意 2: セキュリティ上の理由で、virtual(8) 配送エージェントは proxymap(8) サーバを 使えという要求は静かに無視します。そのかわりテーブルを直接開きます。 Postfixバージョン2.2以前では、virtual(8) 配送 エージェントは致命的エラーで終了します。