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 パラメータ設定を上書きします。この情報は transport(5) テーブルで上書きできます。

この機能は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_sender_dependent_relayhost_maps (デフォルト: empty)

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

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

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はドメインのないアドレスをサポートしていません。

注意: 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" にメールを送れなくなり、代わりにフルドメイン名を指定しなければならなくなります。

注意: 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" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。

例:

authorized_submit_users = !www, static:all

この機能は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クライアントはそのようなメールを配送できないものとして返します。

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

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

biff (デフォルト: 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 の値も増やすべきです。

bounce_template_file (デフォルト: empty)

バウンスメッセージのテンプレートがある設定ファイルのパス名。これらは配送できないメールやメールの遅延、配送成功、配送検証に対する配送状態通知 (DSN; delivery status notification) メッセージのビルトインテンプレートを上書きします。bounce(5) マニュアルページにはテストテンプレートファイルの編集方法が書かれています。

テンプレートメッセージの本体テキストはPostfix設定パラメータを参照する $name を含めることができます。$name 展開の結果はファイルをPostfix設定ディレクトリに置く前に "postconf -b file_name" で確認できます。

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

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}
$name が空でない場合に value に展開されます。
${name?value}
$name が空の場合に value に展開されます。

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

接続キャッシュの接続、送信および受信操作の時間制限。時間制限はクライアント側で強制されます。

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

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"。詳細は reject_unknown_client_hostname を参照してください。
$reverse_client_name
address->name 検索からのクライアントホスト名、もしくは "unknown"。詳細は reject_unknown_reverse_client_hostname を参照してください。
$helo_name
HELO または EHLO コマンドで与えられたホスト名または空文字列。
$rbl_class
ブラックリストに掲載されたエンティティの種類: クライアントホストや Helo コマンド、送信者アドレス、受信者アドレス。
$rbl_code
maps_rbl_reject_code 設定パラメータで指定された、数字の SMTP 応答コード。注意: 数値のSMTP応答コードが要求され、また応答の最初に現れなければいけません。Postfix 2.3以降では、この情報の後に RFC 3463 拡張状態コードが続くことがあります。
$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) を指定することもできます。

注意: RBL応答テンプレート内で拡張状態コードが指定されると、修正されることがあります。クライアント、helo、送信者、受信者アクセス制限に同じRBL応答テンプレートが使われる場合、以下の変換が必要となります。

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およびnext-hop配送先。nexthop配送先の優先度は、$default_transport、$sender_dependent_relayhost_maps、$relayhost、受信者ドメインからのものの順に下がっていきます。この情報は transport(5) テーブルで上書きできます。

transport:nexthop という形の文字列を指定します。ここで transportmaster.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 サービスの名前。このサービスは bounce(8) デーモンによって実装され、失敗した配送試行の記録を管理し、不達通知を生成します。

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

defer_transports (デフォルト: empty)

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

例:

defer_transports = smtp
delay_logging_resolution_limit (デフォルト: 2)

ログに小数点以下の遅延の値を記録する際の、小数点以下の最大の桁数。0..6の範囲の数値を指定します。

大きな遅延の値は整数秒に丸められます; delay_logging_resolution_limit 以下の遅延の値は "0" としてログに記録され、小さな遅延の値は最大2桁の制度でログに記録されます。

"delays=a/b/c/d" ログの書式は以下のとおりです:

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

delay_notice_recipient (デフォルト: postmaster)

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

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

delay_warning_time (デフォルト: 0h)

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

この機能を有効にするには、ゼロ以外の時間の値を指定します (整数値に時間単位を示す1文字サフィックスをつけます)。

時間単位: 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 配送先への、オプションのリレーホストのリスト。Postfix 2.3では、このパラメータは smtp_fallback_relay と改名されました。

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

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

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

Postfixバージョン2.2以降はMXホストである配送先に対しては fallback_relay 機能を使いません。

fallback_transport (デフォルト: empty)

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

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

fallback_transport_maps (デフォルト: empty)

local(8) 配送エージェントが aliases(5) やUNIXパスワードデータベースで見つけられない受信者に対する、受信者ごとのメッセージ配送transportが書かれた、オプションの検索テーブル。

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

安全上の理由から、この機能は正規表現マップでの $number の置換が使えません。

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

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=週。デフォルトの時間単位は d (日) です。

fast_flush_refresh_time (デフォルト: 12h)

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

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

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

local(8) 配送エージェントは Delivered-To: アドレス (prepend_delivered_header 参照) を、1度だけ、配送しようとし始めたときに更新します; エイリアスや .forward ファイルの展開中には Delivered-To: アドレスを更新しません。

この機能はPostfix 2.3以降で使えます。古いPostfixリリースでは、"no" と指定したのと同じような振る舞いでした。古い設定では、エイリアスや .forward ファイルが深くネストしている場合に負荷が高くなりえます。エイリアスや .forward ファイルが Delivered-To: アドレスを変える場合、メールが配送されるまでの間、1つのキューファイルと1つのcleanupプロセスインスタンスが拘束されてしまいます。

hash_queue_depth (デフォルト: 1)

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

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

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

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

Postfixバージョン2.2以前では、ハッシュされたキューのデフォルトリストは非常に大きなものでした。ファイルシステム技術の向上に関する主張によると、incomingactive キュー のハッシュ化は今となっては不要であることを示しています。ハッシュ化したディレクトリを少なくすると、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 ファイル、mailbox_transport_mapsmailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport_mapsfallback_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アドレスも同じホストにあるとわからせることで、Postfix SMTPクライアントのループ検出機能を維持します。$inet_interfaces に単一のIPv4やIPv6アドレスを設定すると、主に、それぞれのIPアドレスが異なるドメインを提供する (そして異なる $myhostname 設定を持つ) 場合に、セカンダリIPアドレスでバーチャルホスティングをするのに便利です。

プロキシやアドレス変換を通ってPostfixに転送されてくるネットワークアドレスについては、 proxy_interfaces パラメータも参照してください。

例:

inet_interfaces = all (デフォルト)
inet_interfaces = loopback-only (Postfixバージョン2.2以降)
inet_interfaces = 127.0.0.1
inet_interfaces = 127.0.0.1, [::1] (Postfixバージョン2.2 以降)
inet_interfaces = 192.168.1.2, 127.0.0.1
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つあるだけであるサイトへの全てのメールを止めてしまうことになりかねません。

internal_mail_filter_classes (デフォルト: empty)

Postfixが生成したメールのうち、non_smtpd_miltersheader_checksbody_checks によるキュー投入前コンテンツ検査を受けるカテゴリ。以下のうちゼロ個以上を、空白またはカンマで区切って指定します。

bounce
配送状態通知の内容を検査します。
notify
smtp(8)smtpd(8) プロセスによるpostmaster通知の内容を検査します。

注意: たいていの場合、Postfixが生成したEメールメッセージのないよう検査を有効にするのは安全ではありません。ユーザは警告を受けます。

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

invalid_hostname_reject_code (デフォルト: 501)

クライアントの HELO または EHLO コマンドパラメータが reject_invalid_helo_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_bind_address (デフォルト: empty)

smtp_bind_address 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_bind_address6 (デフォルト: empty)

smtp_bind_address6 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_cache_connection (デフォルト: yes)

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

LMTPクライアントが同じ接続を要求された際に、接続は再利用されます。キャッシュされた接続は以下のいずれかの条件で閉じられます:

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

lmtp_cname_overrides_servername (デフォルト: yes)

smtp_cname_overrides_servername 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_connect_timeout (デフォルト: 0s)

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

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

例:

lmtp_connect_timeout = 30s
lmtp_connection_cache_destinations (デフォルト: empty)

smtp_connection_cache_destinations 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_connection_cache_on_demand (デフォルト: yes)

smtp_connection_cache_on_demand 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_connection_cache_time_limit (デフォルト: 2s)

smtp_connection_cache_time_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_connection_reuse_time_limit (デフォルト: 300s)

smtp_connection_reuse_time_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

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

smtp_defer_if_no_mx_address_found 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

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

LMTPクライアントがリモートLMTPサーバからの応答で無視する、大文字小文字を区別しない LHLO キーワードのリスト (pipelining, starttls, auth など) を持つ、リモートLMTPサーバアドレスでインデックス化された検索テーブル。詳細は lmtp_discard_lhlo_keywords を参照してください。smtpd_discard_ehlo_keyword_address_maps との一貫性を保つため、テーブルはホスト名ではインデックス化されません。

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

lmtp_discard_lhlo_keywords (デフォルト: $myhostname)

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

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

注意:

lmtp_enforce_tls (デフォルト: no)

smtp_enforce_tls 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_generic_maps (デフォルト: empty)

smtp_generic_maps 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_host_lookup (デフォルト: dns)

smtp_host_lookup 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_lhlo_name (デフォルト: $myhostname)

LMTP LHLO コマンドで送るホスト名。

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

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

  /etc/postfix/master.cf:
        mylmtp ... lmtp -o lmtp_lhlo_name=foo.bar.com

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

lmtp_lhlo_timeout (デフォルト: 300s)

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

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

lmtp_line_length_limit (デフォルト: 990)

smtp_line_length_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_mail_timeout (デフォルト: 300s)

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

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

lmtp_mx_address_limit (デフォルト: 5)

smtp_mx_address_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_mx_session_limit (デフォルト: 2)

smtp_mx_session_limit 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_pix_workaround_delay_time (デフォルト: 10s)

smtp_pix_workaround_delay_time 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_pix_workaround_threshold_time (デフォルト: 500s)

smtp_pix_workaround_threshold_time 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_quit_timeout (デフォルト: 300s)

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

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

lmtp_quote_rfc821_envelope (デフォルト: yes)

smtp_quote_rfc821_envelope 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_randomize_addresses (デフォルト: yes)

smtp_randomize_addresses 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

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

smtp_sasl_mechanism_filter 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_sasl_password_maps (デフォルト: empty)

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

lmtp_sasl_path (デフォルト: empty)

lmtp_sasl_type で選ばれたSASLプラグインの実装にそのまま渡される、実装に依存する情報。通常はここに設定ファイル名やランデブーポイントの名前を指定します。

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

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

SASLセキュリティオプション; Postfix 2.3では、利用可能な機能はlmtp_sasl_typeで選択されたSASLクライアントの実装に依存します。

以下のセキュリティ機能が cyrus クライアントSASL実装で定義されています:

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

例:

lmtp_sasl_security_options = noplaintext
lmtp_sasl_tls_security_options (デフォルト: $lmtp_sasl_security_options)

smtp_sasl_tls_security_options 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_sasl_tls_verified_security_options (デフォルト: $lmtp_sasl_tls_security_options)

smtp_sasl_tls_verified_security_options 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_sasl_type (デフォルト: cyrus)

Postfix LMTPクライアントが認証に使うSASLプラグインの種類。利用可能な種類は "postconf -A" コマンドでリストアップされます。

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

lmtp_send_xforward_command (デフォルト: no)

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

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

lmtp_sender_dependent_authentication (デフォルト: no)

smtp_sender_dependent_authentication 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_skip_5xx_greeting (デフォルト: yes)

smtp_skip_5xx_greeting 設定パラメータのLMTP版。 詳細はそちらを参照してください。

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

lmtp_skip_quit_response (デフォルト: no)

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

lmtp_starttls_timeout (デフォルト: 300s)

smtp_starttls_timeout 設定パラメータのLMTP版。 詳細はそちらを参照してください。

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

lmtp_tcp_port (デフォルト: 24)

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

lmtp_tls_CAfile (デフォルト: empty)

smtp_tls_CAfile 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_CApath (デフォルト: empty)

smtp_tls_CApath 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_cert_file (デフォルト: empty)

smtp_tls_cert_file 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_dcert_file (デフォルト: empty)

smtp_tls_dcert_file 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_dkey_file (デフォルト: $lmtp_tls_dcert_file)

smtp_tls_dkey_file 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_enforce_peername (デフォルト: yes)

smtp_tls_enforce_peername 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_exclude_ciphers (デフォルト: empty)

smtp_tls_exclude_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_key_file (デフォルト: $lmtp_tls_cert_file)

smtp_tls_key_file 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_loglevel (デフォルト: 0)

smtp_tls_loglevel 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_mandatory_ciphers (デフォルト: empty)

smtp_tls_mandatory_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_mandatory_exclude_ciphers (デフォルト: empty)

smtp_tls_mandatory_exclude_ciphers 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_mandatory_protocols (デフォルト: SSLv3, TLSv1)

smtp_tls_mandatory_protocols 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_note_starttls_offer (デフォルト: no)

smtp_tls_note_starttls_offer 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_per_site (デフォルト: empty)

smtp_tls_per_site 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_policy_maps (デフォルト: empty)

smtp_tls_policy_maps 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_scert_verifydepth (デフォルト: 5)

smtp_tls_scert_verifydepth 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_secure_cert_match (デフォルト: nexthop)

smtp_tls_secure_cert_match 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_session_cache_database (デフォルト: empty)

smtp_tls_session_cache_database 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_session_cache_timeout (デフォルト: 3600s)

smtp_tls_session_cache_timeout 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_tls_verify_cert_match (デフォルト: hostname)

smtp_tls_verify_cert_match 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

lmtp_use_tls (デフォルト: no)

smtp_use_tls 設定パラメータのLMTP版。詳細はそちらを参照してください。

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

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_interfaces)

これらのクライアントから来たメールのメッセージヘッダアドレスを書き換え、不完全なアドレスに $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 にマッチした [ipアドレス] 配送先に使う、デフォルトのメール配送transportおよびnext-hop配送先。この情報は transport(5) テーブルで上書きできます。

デフォルトでは、ローカルメールは "local" と呼ばれるtransportに配送されます。この "local" は master.cf ファイルで定義されたサービスの名前でしかありません。

transport:nexthop という形の文字列を指定します。ここで transportmaster.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 ファイル、mailbox_transport_mapsmailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport_mapsfallback_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 ファイル、mailbox_transport_mapsmailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport_mapsfallback_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 ファイル、mailbox_transport_mapsmailbox_transportmailbox_command_mapsmailbox_commandhome_mailboxmail_spool_directoryfallback_transport_mapsfallback_transport、そして luser_relay

mailbox_transport_maps (デフォルト: empty)

受信者がUNIX passwdデータベースで見つかるかどうかにかかわらず local(8) メールボックス配送に使う、受信者ごとのメッセージ配送transportが書かれた、オプションの検索テーブル。

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

安全上の理由から、この機能は正規表現マップでの $number の置換が使えません。

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

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" を変化させませんが、"user@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" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。

例:

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)

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

このパラメータには $minimal_backoff_time 以上の値を設定してください。$queue_run_delay も参照してください。

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

maximal_queue_lifetime (デフォルト: 5d)

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

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

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

message_reject_characters (デフォルト: empty)

メッセージの内容に現れたらPostfixが拒否する文字のセット。通常のCライク名エスケープシーケンスが認識されます: \a \b \f \n \r \t \v \ddd (最大3桁の8進数) および \\

例:

message_reject_characters = \0

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

message_size_limit (デフォルト: 10240000)

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

message_strip_characters (デフォルト: empty)

メッセージの内容に現れたらPostfixが取り除く文字のセット。通常のCライク名エスケープシーケンスが認識されます: \a \b \f \n \r \t \v \ddd (最大3桁の8進数) および \\

例:

message_strip_characters = \0

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

milter_command_timeout (デフォルト: 30s)

SMTP コマンドをMilter (メールフィルタ) アプリケーションに送り、応答を受け取るまでの時間制限。

ゼロ以外の時間の値を指定します (整数値に時間単位を示す1文字サフィックスをつけます)。

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

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

milter_connect_macros (デフォルト: postconf -n の出力を参照)

SMTP接続が完了した後でMilter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_connect_timeout (デフォルト: 30s)

Milter (メールフィルタ) アプリケーションに接続し、プロトコルオプションをやりとりする際の時間制限。

ゼロ以外の時間の値を指定します (整数値に時間単位を示す1文字サフィックスをつけます)。

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

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

milter_content_timeout (デフォルト: 300s)

メッセージの内容をMilter (メールフィルタ) アプリケーションに送り、応答を受け取るまでの時間制限。

ゼロ以外の時間の値を指定します (整数値に時間単位を示す1文字サフィックスをつけます)。

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

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

milter_data_macros (デフォルト: postconf -n の出力を参照)

SMTP DATAコマンドの後でバージョン4以上の Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_default_action (デフォルト: tempfail)

Milter (メールフィルタ) アプリケーションが使えなかったり設定が間違えているときのデフォルトの動作。以下のうち一つを指定します:

accept
メールフィルタが存在しないかのように進めます。
reject
このセッションのそれ以降のすべてのコマンドを永久状態コードで拒否します。
tempfail
このセッションのそれ以降のすべてのコマンドを一時状態コードで拒否します。

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

milter_end_of_data_macros (デフォルト: postconf -n の出力を参照)

メッセージ end-of-data の後で Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_helo_macros (デフォルト: postconf -n の出力を参照)

SMTP HELO もしくは EHLO の後で Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_macro_daemon_name (デフォルト: $myhostname)

Milter (メールフィルタ) アプリケーションでの {daemon_name} マクロの値。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_macro_v (デフォルト: $mail_name $mail_version)

Milter (メールフィルタ) アプリケーションでの {v} マクロの値。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_mail_macros (デフォルト: postconf -n の出力を参照)

SMTP MAIL FROM コマンドの後で Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_protocol (デフォルト: 2)

Milter (メールフィルタ) アプリケーションと通信するメールフィルタのプロトコルバージョンとオプションの拡張プロトコル。この情報は実際のメールフィルタアプリケーションが期待するプロトコルとマッチしていなければいけません。

プロトコルバージョン:

2
Sendmail 8 メールフィルタプロトコルバージョン2を使います。
3
Sendmail 8 メールフィルタプロトコルバージョン3を使います。
4
Sendmail 8 メールフィルタプロトコルバージョン4を使います。

拡張プロトコル:

no_header_reply
Milter アプリケーションが個々のメッセージヘッダそれぞれに応答しないのであれば、これを指定します。

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

milter_rcpt_macros (デフォルト: postconf -n の出力を参照)

SMTP RCPT TO コマンドの後で Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

milter_unknown_command_macros (デフォルト: postconf -n の出力を参照)

未知の SMTP コマンドの後でバージョン3以上の Milter (メールフィルタ) アプリケーションに送られるマクロ。利用可能なマクロ名とその意味は MILTER_README を参照してください。

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

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)

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

このパラメータには $queue_run_delay 以上を設定してください。$maximal_backoff_time も参照してください。

時間単位: 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" パターンを空白やカンマで区切ったリストを指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。

例:

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:587::]/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_helo_hostnamereject_non_fqdn_senderreject_non_fqdn_recipient 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。

non_smtpd_milters (デフォルト: empty)

Postfix smtpd(8) サーバを通さずに届いた新しいメールに対する Milster (メールフィルタ) アプリケーションのリスト。これには sendmail(1) コマンドラインを通したローカルでの投函やPostfix qmqpd(8) サーバを通して届いた新しいメール、"postsuper -r" でキューに再投入された古いメールも含まれます。詳細は MILTER_README ドキュメントを参照してください。

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

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

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

注意: postmaster通知にはSASLパスワードやメッセージの内容のような機密情報が含まれるかもしれません。そのような情報を注意して取り扱うのはシステム管理者の責務です。

エラークラスは:

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以降で使えます。

plaintext_reject_code (デフォルト: 450)

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

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

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

メールが配送される先のアドレスが書かれた Delivered-To: メッセージヘッダをPostfix local(8) 配送エージェントが前置する、メッセージ配送の場面。この情報はメール配送ループの検出に使われます。

デフォルトでは、メールの転送時やファイル(メールボックス)およびコマンドへの配送時に、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 アドレスを指定しなければいけません。

例:

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 queue を詰まらせているという警告の最小遅延間隔。無効にするには 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 キュー がキューマネージャによってスキャンされる時間間隔。

このパラメータには $minimal_backoff_time 以上を設定してください。$maximal_backoff_time も参照してください。

時間単位: 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 を無効にします。これは通常、外部コンテンツフィルタの「後で」指定されます。
no_milters
Milter (メールフィルタ) アプリケーションを無効にします。これは通常、外部コンテンツフィルタの「後で」指定されます。

注意: 「コンテンツフィルタの前の」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 を指定します。技術的には、$local_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配送先。nexthop配送先の優先度は、$relay_transport、$sender_dependent_relayhost_maps、$relayhost、受信者ドメインからのものの順に下がっていきます。この情報は transport(5) テーブルで上書きできます。

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

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

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

relayhost (デフォルト: empty)

非ローカルメールのnext-hop配送先; 受信者アドレスの非ローカルドメインを上書きします。この情報は relay_transportdefault_transportsender_dependent_relayhost_mapstransport(5) テーブルで上書きできます。

イントラネットでは組織のドメイン名を指定します。内部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 ドメインで終わるような形に書き換えられるアドレスからのメールを拒否するためにこの機能を使います。

resolve_numeric_domain (デフォルト: no)

"user@ipaddress" を無効なアドレスとして拒否するのではなく、"user@[ipaddress]" としてそのアドレスを解決します。

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

rewrite_service_name (デフォルト: rewrite)

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

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

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

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

sender_based_routing (デフォルト: no)

このパラメータは使うべきではありません。これはPostfixバージョン2.3で sender_dependent_relayhost_maps に置き換えられました。

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)

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

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

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

例:

sender_canonical_maps = hash:/etc/postfix/sender_canonical
sender_dependent_relayhost_maps (デフォルト: empty)

グローバルな relayhost パラメータ設定を、送信者単位で上書きします。テーブルは送信者アドレスと @domain で検索されます。この情報は relay_transportdefault_transport および transport(5) テーブルで上書きされます。

安全上の理由から、この機能は正規表現マップでの $number の置換が使えません。

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

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以前では: "/etc/postfix/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接続の際にPostfix 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接続の際にPostfix 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 (デフォルト: バージョンに依存)

Postfix SMTPクライアントがログの記録やSASLパスワード検索、TLSポリシーの決定、TLS証明書の検証に使うサーバ名を、DNS CNAMEレコードが上書きできるようにします。"no" という値により、DNS CNAME レコードの間違ったホスト名情報に対して、Postfix smtp_tls_per_site ホスト名ベースのポリシーを強化し、SASLパスワードファイルの検索をより予測可能なものにします。Postfix 2.3ではこれがデフォルト設定です。

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

smtp_connect_timeout (デフォルト: 30s)

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

期限内に接続できないと、Postfix 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で使えます。Postfix 2.3では $smtp_connection_reuse_time_limit で置き換えられています。

smtp_connection_cache_time_limit (デフォルト: 2s)

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

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

smtp_connection_reuse_time_limit (デフォルト: 300s)

PostfixがSMTP接続を繰り返し使おうとする期間。タイマーは接続が開始された時点で始まります (つまり接続、グリーティングとheloの待ち時間も、その後のメール配送トランザクションの待ち時間と同様に含まれます)。

この機能はリモートSMTPサーバとのパフォーマンス安定性問題に対処するものです。この問題はPostfixに限ったものではありません: これは複数のMXホストを持つ1つのサイトに大量のSMTP eメールを送る場合にはどんなMTAでも起こりえます。

問題はMXホストのうち1つが他のものよりも遅くなったときに始まります。SMTPクライアントは速いMXホストと遅いMXホストに同じ確率で接続したとしても、遅いMXホストはそれぞれのクライアント要求に対応するのに時間がかかるため、遅いMXホストは早いMXホストよりも内向きの同時接続数が多くなってしまいます。

遅いMXホストは接続をひきつけるものになります。あるMXホストが他のホストよりN倍遅くなると、その影響に対抗できるN個の速いMXホストがなければメール配送のレイテンシが支配されてしまいます。そしてMXホストの数がNよりも小さいと、メール配送のレイテンシは最も遅いMXホストの効率をMXホストの合計数で割ったものになってしまいます。

その解としてPostfix 2.2とは違う方法で接続キャッシュを使います。(配送の回数を制限するのではなく) 接続が繰り返して使われる期間を制限することで、Postfixは複数のMXホストにわたる同時接続の分布を公正な状態にするだけではなく、パフォーマンスがよい接続をおこなう配送を好むようになります。これはまさにわれわれが望んでいる状態です。

300sというデフォルトの再利用の時間制限は、遅い配送での最大レイテンシを公正に見積もっている、さまざまなSMTPトランザクションのタイムアウトと同程度の長さです。デフォルトの接続再利用時間制限時間内に、ホストが1つの接続で数千のメッセージを受けてしまうかもしれないことに注意してください。キャッシュされた接続あたり10というPostfixバージョン2.2のデフォルト制限よりも、この数値はずっと大きくなっています。1回の接続でたくさんのメッセージが送られるとバグが表面化するMTAとの相互運用性の問題を避けるため、この制限を低くすることが必要になるかもしれません。接続やメール配送のレイテンシが再利用時間制限を超えている場合、再利用の時間制限を低くすると接続を再利用する利点が失われる恐れがあります。

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

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 秒以上接続に進展がないと、Postfix 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)

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

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

smtp_discard_ehlo_keywords (デフォルト: empty)

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

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

注意:

smtp_enforce_tls (デフォルト: no)

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

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

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

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では smtp_tls_security_level を代わりに使ってください。

smtp_fallback_relay (デフォルト: $fallback_relay)

見つからなかったり到達できない SMTP 配送先への、オプションのリレーホストのリスト。Postfix 2.2以前では、このパラメータは fallback_relay という名前でした。

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

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

MXホストとfall-backホスト間のメーラループを避けるため、Postfixバージョン2.3以降ではMXホストである配送先に対しては smtp_fallback_relay 機能を使いません。

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)

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

メール交換機検索から得られるMX (メール交換機) IPアドレスの最大数、またはゼロ (制限なし)。2.3より前のバージョンのPostfixでは、この制限はデフォルトで無効になっています。

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

smtp_mx_session_limit (デフォルト: 2)

諦めるか fall-back リレーホストに配送するまでの、配送要求ごとの SMTP セッションの最大数、またはゼロ (制限なし)。この制限はSMTPの最初のハンドシェイクが完了できなかった (Postfixバージョン2.2以前) もしくはEHLOおよびTLSハンドシェイクが完了できなかった (Postfixバージョン2.3以降) セッションを無視します。

この機能は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)

"smtp fixup" モードが有効になったファイアウォールを通る配送に対して、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_auth_enforce (デフォルト: yes)

送信者単位のSASLパスワードが無効になっている場合、SMTPサーバがSASL認証をサポートしていないと、smtp_sasl_password_maps がそのサーバに対するSASLログイン/パスワード情報を持っていてもメール配送を遅延します。

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

smtp_sasl_mechanism_filter (デフォルト: empty)

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

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

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

例:

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

smtp_sasl_type で選ばれたSASLプラグインの実装にそのまま渡される、実装に依存する情報。通常はここに設定ファイル名やランデブーポイントの名前を指定します。

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

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

SASLセキュリティオプション; Postfix 2.3では、利用可能な機能はsmtp_sasl_typeで選択されたSASLクライアントの実装に依存します。

以下のセキュリティ機能が cyrus クライアントSASL実装で定義されています:

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

noplaintext
平文パスワードを使う方法を許可しません。
noactive
active (非辞書) 攻撃を受けるような方法を許可しません。
nodictionary
passive (辞書) 攻撃を受けるような方法を許可しません。
noanonymous
匿名認証を認めるような方法を許可しません。
mutual_auth
相互認証を提供する方法のみを許可します (SASL バージョン 1 では使えません)。

例:

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

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

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

smtp_sasl_tls_verified_security_options (デフォルト: $smtp_sasl_tls_security_options)

検証されたサーバ証明書を使ったTLS暗号化SMTPセッションでPostfix SMTPクライアントが使う、SASL認証セキュリティオプション。この機能はまだ開発中です。Postfix 2.3リリースには含まれません。

この機能はPostfix 2.4以降で使えるようになるはずです。

smtp_sasl_type (デフォルト: cyrus)

Postfix SMTPクライアントが認証に使うSASLプラグインの種類。利用可能な種類は "postconf -A" コマンドでリストアップされます。

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

smtp_send_xforward_command (デフォルト: no)

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

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

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

smtp_sender_dependent_authentication (デフォルト: no)

Postfix SMTPクライアントで、送信者単位での認証を有効にします; これはSASL認証でのみ利用可能で、別の送信者からのメールが適切な資格を使うことを保証するためSMTP接続キャッシュを無効にします。

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

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スタートアップおよびシャットダウン手順の中での読み書き操作の制限時間。

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

smtp_tls_CAfile (デフォルト: empty)

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

例:

smtp_tls_CAfile = /etc/postfix/CAcert.pem

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

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

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

smtp_tls_cert_file (デフォルト: empty)

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

もし1つ以上のサーバに対してクライアントTLS証明書を示さなければいけないのでなければ、クライアント証明書の設定はしないでください。クライアント証明書はたいていは必要なく、それがない環境でうまく動いている設定に問題を起こすかもしれません。推奨する設定は、デフォルトで設定されているようにすることです:

    smtp_tls_cert_file =
    smtp_tls_dcert_file =
    smtp_tls_key_file =
    smtp_tls_dkey_file =

デフォルト設定を使うのにもっともよい方法は、もし main.cf に上のパラメータがあれば、それをコメントアウトすることです。

証明書を確認するには、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

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

smtp_tls_cipherlist (デフォルト: empty)

古いPostfix < 2.3での、Postfix SMTPクライアントTLS暗号リストの制御。この機能はすべてのTLSセキュリティレベルに適用されるため、デフォルトではない暗号リストを選んでしまうと簡単に相互運用性問題が生じてしまいます。公開されたインターネットにEメールを配信するホストでデフォルトではないTLS暗号リストを使ってはいけません: 除外した暗号しかサポートしていないサーバにEメールが遅れなくなってしまいます。対向のサーバ間でTLSソフトウェアおよび設定を制御することが可能であれば、内部のMTAに対して暗号リストを制限して使うことがより適切かもしれません。

注意: パラメータ値の前後に "" 引用符を使わないでください。

この機能はPostfixバージョン2.2で使えます。Postfix 2.3以降では使われません; 代わりに smtp_tls_mandatory_ciphers を使ってください。

smtp_tls_dcert_file (デフォルト: empty)

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

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

例:

smtp_tls_dcert_file = /etc/postfix/client-dsa.pem

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

smtp_tls_dkey_file (デフォルト: $smtp_tls_dcert_file)

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

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

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

smtp_tls_enforce_peername (デフォルト: yes)

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

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

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

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では smtp_tls_security_level を代わりに使ってください。

smtp_tls_exclude_ciphers (デフォルト: empty)

すべてのTLSセキュリティレベルにおいて、Postfix SMTPクライアントの暗号リストから除外する暗号もしくは暗号のタイプをリストアップします。これはOpenSSLの暗号リストではなく、空白またはカンマで区切られたシンプルなリストです。要素は単一の暗号、もしくは1つ以上の "+" で区切られた暗号プロパティで、後者の場合すべてのプロパティがマッチしたときのみ除外されます。

例 (問題を起こすものもあります):

smtp_tls_exclude_ciphers = aNULL
smtp_tls_exclude_ciphers = MD5, DES
smtp_tls_exclude_ciphers = DES+MD5
smtp_tls_exclude_ciphers = AES256-SHA, DES-CBC3-MD5
smtp_tls_exclude_ciphers = kEDH+aRSA

最初の設定は、匿名暗号を無効にします。次の設定はMD5ダイジェストアルゴリズムもしくは (シングル) DES暗号アルゴリズムを使う暗号を無効にします。次の設定はMD5とDESを一緒に使う暗号を無効にします。次の設定は "AES256-SHA" と "DES-CBC3-MD5" の2つの暗号を無効にします。最後の設定はRSA認証で "EDH" 鍵交換を使う暗号を無効にします。

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

smtp_tls_key_file (デフォルト: $smtp_tls_cert_file)

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

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

例:

smtp_tls_key_file = $smtp_tls_cert_file

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

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は使わないことを強くおすすめします。

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

smtp_tls_mandatory_ciphers (デフォルト: medium)

TLS暗号が強制された場合にPostfix SMTPクライアントが使う最低限のTLS暗号グレード。デフォルト値の "medium" は、TLSを強制したいほとんどの配送先に適しており、今日の暗号解読方法では解読は無理です。配送先ベースで暗号を設定する方法に関する情報は smtp_tls_policy_maps を参照してください。

以下の暗号グレードがサポートされています:

export
メインストリーム "EXPORT" グレード以上のOpenSSL暗号を有効にします。これは日和見暗号で常に使われます。"不自由な" 対向でTLSを強制しなければならないのでなければ、強制暗号化に対してこれを設定するのは勧められません。基盤となる暗号リストは tls_export_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_export_cipherlist のデフォルト値には匿名暗号が含まれていますが、クライアントがサーバ証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。"encrypt" セキュリティレベルでも匿名暗号を除外しなければならないのであれば、 smtp_tls_mandatory_exclude_ciphers = aNULL" を設定してください。
low
メインストリーム "LOW" グレード以上のOpenSSL暗号を有効にします。この設定は内部メールサーバに対してのみ適切です。基盤となる暗号リストは tls_low_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_low_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバ証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。"encrypt" セキュリティレベルでも匿名暗号を除外しなければならないのであれば、 smtp_tls_mandatory_exclude_ciphers = aNULL" を設定してください。
medium
メインストリーム "MEDIUM" グレード以上のOpenSSL暗号を有効にします。基盤となる暗号リストは tls_medium_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_medium_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバ証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。"encrypt" セキュリティレベルでも匿名暗号を除外しなければならないのであれば、 smtp_tls_mandatory_exclude_ciphers = aNULL" を設定してください。
high
メインストリーム "HIGH" グレードのOpenSSL暗号を有効にします。この設定はTLSが必須な配送先すべてが "HIGH" グレード暗号のいずれかをサポートしている場合に適切ですが、それは珍しいことです。基盤となる暗号リストは tls_high_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_high_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバ証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。"encrypt" セキュリティレベルでも匿名暗号を除外しなければならないのであれば、 smtp_tls_mandatory_exclude_ciphers = aNULL" を設定してください。
null
暗号化せずに認証だけを提供する "NULL" OpenSSL暗号のみを有効にします。この設定はすべてのサーバがNULL暗号 (TLSサーバでは普通有効になっていません) を用意しているようなレアケースでのみ適切です。LMTPサーバが "NULL" 暗号をサポートするよう設定されたUNIXドメインソケットでlistenしているというのがユースケースとしてありえます。基盤となる暗号リストは tls_null_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_null_cipherlist のデフォルト値は匿名暗号を除外しています (OpenSSL 0.9.8には暗号化や認証なしでデータの完全性を提供するNULL暗号があります)。

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

smtp_tls_mandatory_exclude_ciphers (デフォルト: empty)

TLSが必須なセキュリティレベルにおいて、SMTPクライアントの暗号リストから除外する暗号もしくは暗号のタイプを追加でリストアップします。このリストは smtp_tls_exclude_ciphers (文法の詳細はそちらを見てください) で除外するものとしてあげられたものに加えて機能します。

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

smtp_tls_mandatory_protocols (デフォルト: SSLv3, TLSv1)

TLS暗号が強制された場合にPostfix SMTPクライアントが使うTLSプロトコルのリスト。main.cf では、値は空白やカンマ、転んで区切ります。ポリシーテーブルでは (smtp_tls_policy_maps 参照) コロンのみが有効な区切り文字です。値を空にすると、すべてのプロトコルを許可することを意味します。有効なプロトコル名 (SSL_get_version(3) 参照) は "SSLv2"、"SSLv3" および "TLSv1" です。

SSLバージョン2には既知の脆弱性があり現在は推奨できないため、デフォルト設定は "SSLv3" と "TLSv1" のみをリストアップしています。これは、デフォルトでは "encrypt" セキュリティレベル以上においてはSSLバージョン2は使われないことを意味します。

セキュリティレベルについての更なる情報は smtp_tls_policy_maps パラメータのドキュメントや TLS_README を参照してください。

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

smtp_tls_note_starttls_offer (デフォルト: no)

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

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

postfix/smtp[pid]:  Host offered STARTTLS: [name.of.host]

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

smtp_tls_per_site (デフォルト: empty)

next-hop配送先やリモートSMTPサーバホスト名ごとのPostfix SMTP クライアントTLS利用ポリシーを持つ、オプションの検索テーブル。両方の検索に成功すると、より特定されたサイトごとのポリシー (NONE、 MUST, etc) が特定度の弱いもの (MAY) を上書きし、より安全なサイトごとのポリシー (MUST, etc) がより安全度の弱いもの (NONE) を上書きします。Postfix 2.3以降では smtp_tls_per_site は全くお勧めしません; 代わりに smtp_tls_policy_maps を使ってください。

サイトごとのテーブル検索キーとして生のホスト名を使うことはお勧めできません。常に完全な nexthop を使ってください ([] でくくり、もしあれば ":port" サフィックスをつけます)。ポートサフィックスのない受信者ドメインやMXが有効となった transport next-hopは生のホスト名に見えるかも知れませんが、それらは配送先として適したものです。

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 設定を上書きします。

上のキーワードはPostfix 2.3で導入された新しい smtp_tls_security_level パラメータの "none"、"may"、"encrypt" および "verify" セキュリティレベルに対応します。Postfix 2.3からは、どのようにポリシーが指定されているかに関わらず、smtp_tls_mandatory_ciphers および smtp_tls_mandatory_protocols パラメータはTLS暗号が強制されているときのみ適用されます。暗号がオプションの接続では "export" グレード以上の暗号すべてが有効になります。

安全なDNS検索メカニズムが使えない限り、MX応答やCNAME応答でのホスト名が間違っていると、PostfixがTLSポリシー検索やサーバ証明書の検証で使うホスト名が変わってしまいます。サーバホスト名とサーバ証明書が完全にマッチしていたとしても、Postfixが正しいサーバに接続されたかどうかは保証できません。可能な回避方法については TLS_README (古い、サイトごとのTLSポリシーでDNSの抜け穴を閉じる) を参照してください。

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では、代わりに smtp_tls_policy_maps を使ってください。

smtp_tls_policy_maps (デフォルト: empty)

next-hop配送先ごとのPostfix SMTP クライアントTLSセキュリティポリシーを持つ、オプションの検索テーブル; 空ではない値が指定されると、古い smtp_tls_per_site パラメータをこれで上書きします。TLSセキュリティレベルのより詳細な議論は TLS_README を参照してください。

受信者ドメインもしくは transport テーブル、$local_transport、$virtual_transport、$relay_transport、$default_transport で指定されたnext-hop配送先全体で、TLSポリシーテーブルはインデックス化されます。これには四角カッコで括られたものや非デフォルト配送先サーバポートサフィックスを含みます。LMTPソケット形式プレフィックス (inet: や unix:) は検索キーには含みません。

next-hopドメイン、もしくはUNIXドメインソケットを使ったLMTPでの $myhostname だけが証明書検証の nexthop 名として使われます。ポートおよび四角カッコは検索キーとして使われますが、サーバ名検証には使われません。

検索キーが四角カッコや :port サフィックスのないドメイン名 (通常は受信者ドメイン) で、完全なドメインがテーブルでは見つからない場合は、transport(5) テーブルの場合と同様に "." で始まる親ドメインが再帰的にマッチします。これにより、ある受信者ドメインとそのサブドメイン全てに対するセキュリティポリシーを指定できるようになります。

検索結果はセキュリティレベルですが、関連する main.cf 設定を上書きする、空白やカンマで区切られた name=value 属性もオプションで続けることができます。TLSセキュリティレベルはセキュリティが上がる順に:

なし
TLSを使わない。このレベルでは追加属性はサポートされません。
may
日和見TLS。このレベルでは追加属性はサポートされません。平文での送信が受け入れられるため、デフォルトのTLSセキュリティパラメータよりも強いものを要求しても互換性を下げるだけです。Postfix 2.3以降では、このセキュリティレベルの時には smtp_tls_mandatory_ciphers および smtp_tls_mandatory_protocols パラメータを無視します: すべてのプロトコルが許可され、"export" グレード以上の暗号が使われます。TLSハンドシェイクに失敗すると、TLSを無効にして接続を再試行します。これにより、TLSの実装が非互換なサイトへもメールが配送できます。
encrypt
TLS暗号化の強制。このレベル以上では、"ciphers" 属性が main.cf smtp_tls_mandatory_ciphers パラメータを、"protocols" キーワードが main.cf smtp_tls_mandatory_protocols パラメータをそれぞれオプションで上書きします。ポリシーテーブルでは属性値に空白やカンマを含めることができないため、複数のプロトコルはコロンで区切らなければいけません。

verify
TLS検証の強制。このセキュリティレベルでは、DNS MX検索は十分にセキュアであると信頼しており、サーバ証明書で検証される名前は通常、認証されていないDNS MX検索を使って間接的に得られるものです。オプションの "match" 属性は main.cf smtp_tls_verify_cert_match パラメータを上書きします。ポリシーテーブルでは、複数のマッチングパターンや戦略をコロンで区切らなければいけません。実際には、マッチングの明示的な制御は、以下に示す "secure" ポリシーではより一般的です。
secure
セキュアチャネルTLS。このセキュリティレベルでは、潜在的にはnext-hopゲートウェイIPアドレスの候補を決めるのに使われますが、DNS MX検索をTLSピア名検証に使うのに十分なほどセキュアであるとはみなされません。代わりに、サーバ証明書のデフォルト名をnext-hopから得るか、main.cf smtp_tls_secure_cert_match パラメータを上書きする、オプションの match 属性を通して明示的に指定されます。ポリシーテーブルでは、複数のマッチングパターンや戦略をコロンで区切らなければいけません。match 属性は共通のサーバで複数のドメインがサポートされていて、追加ドメインのポリシーエントリがプライマリドメインの証明書のマッチングルールを指定している場合に最も便利です。セカンダリドメインからプライマリ nexthop へのルーティングを上書きする transport テーブルでもセキュアな検証ができますが、ドメインの所有者が変わったり新しいゲートウェイに再割り当てされたりすると間違った配送先に送られてしまう危険性があります。"match" 属性による方法を使うと、ルーティングは混乱することはなく、新しいMXホストの検証に失敗したらメールは遅延されます。

例:

main.cf:
    smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
tls_policy:
    example.edu             none
    example.mil             may
    example.gov                 encrypt protocols=TLSv1
    example.com       verify ciphers=high
    example.net             secure
    .example.net            secure match=.example.net:example.net
    [mail.example.org]:587  secure match=nexthop

注意: hostname 戦略が smtp_tls_secure_cert_match の非デフォルト設定やポリシーテーブルの match 属性に書かれていると、DNS偽装に対する secure レベルの脆弱性となってしまう可能性があります。secure-channel に対する hostname 戦略を DNSセキュリティが保障されていない環境で使わないでください。

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

smtp_tls_scert_verifydepth (デフォルト: 5)

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

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

smtp_tls_secure_cert_match (デフォルト: nexthop, dot-nexthop)

"secure" TLSセキュリティレベルでのサーバ証明書の peername 検証方法。"secure" TLSポリシーテーブル ($smtp_tls_policy_maps) のエントリで、オプションの "match" 属性はこの main.cf 設定を上書きします。

このパラメータは1つ以上のパターンもしくは戦略をカンマ、空白またはコロンで区切って指定します。ポリシーテーブルではコロンのみが有効な区切り文字です。

パターンや戦略の文法についての記述は smtp_tls_verify_cert_match パラメータを参照してください。セキュアなグローバルDNSはないことから、証明書の検証でMX検索の結果を使うのはDNSのアクティブ (man-in-the-middle; 中間者) 攻撃を受ける心配があるため、"hostname" 戦略はこの場面では避けるべきです。

サンプル main.cf 設定:

smtp_tls_secure_cert_match = nexthop

サンプルポリシーテーブルの上書き:

example.net     secure match=example.com:.example.com
.example.net    secure match=example.com:.example.com

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

smtp_tls_security_level (デフォルト: empty)

Postfix SMTPクライアントでのデフォルトのSMTP TLSセキュリティレベル; 空ではない値が指定されると、古い smtp_use_tlssmtp_enforce_tlssmtp_tls_enforce_peername パラメータをこれで上書きします。

以下のセキュリティレベルのうち1つを指定してください:

なし
smtp_tls_policy_maps で特定の配送先に対してTLSが有効にされない限り、TLSは使われません。
may
日和見TLS。サーバがサポートしていればTLSが使われます。平文での送信が受け入れられるため、デフォルトのTLSセキュリティパラメータよりも強いものを要求しても互換性を下げるだけです。Postfix 2.3以降では、このセキュリティレベルの時には smtp_tls_mandatory_ciphers および smtp_tls_mandatory_protocols パラメータを無視します: すべてのプロトコルが許可され、"export" グレード以上の暗号が使われます。TLSハンドシェイクに失敗すると、TLSを無効にして接続を再試行します。これにより、TLSの実装が非互換なサイトへもメールが配送できます。
encrypt
TLS暗号化の強制。最低レベルのセキュリティを意図しているため、十分にセキュアなプロトコルバージョンおよび暗号に制限することが適切です。このセキュリティレベル以上では、main.cf パラメータの smtp_tls_mandatory_protocols および smtp_tls_mandatory_ciphers がTLSプロトコルと暗号化を強制したセッションで十分な安全性を持つと管理者が考える最低限の暗号グレードを決定します。このセキュリティレベルはインターネットにメールを配送するシステムでのデフォルトとしては適切ではありません。
verify
TLS検証の強制。このセキュリティレベルでは、DNS MX検索は十分にセキュアであると信頼しており、サーバ証明書で検証される名前は通常、認証されていないDNS MX検索を使って間接的に得られるものです。smtp_tls_verify_cert_match パラメータはサーバ名が検証される方法を制御します。実際には、マッチングの明示的な制御は、以下に示す "secure" レベルではより一般的です。このセキュリティレベルはインターネットにメールを配送するシステムでのデフォルトとしては適切ではありません。
secure
セキュアチャネルTLS。このセキュリティレベルでは、潜在的にはnext-hopゲートウェイIPアドレスの候補を決めるのに使われますが、DNS MX検索をTLSピア名検証に使うのに十分なほどセキュアであるとはみなされません。代わりに、サーバ証明書で検証されたデフォルト名を、smtp_tls_secure_cert_match 設定パラメータで指定されたnext-hopドメインから得ます。デフォルトのマッチングルールは、名前が一致するかnexthopドメインのサブドメインの場合にサーバ証明書がマッチするというものです。このセキュリティレベルはインターネットにメールを配送するシステムでのデフォルトとしては適切ではありません。

例:

TLSなし、旧形式: smtp_use_tls=no and smtp_enforce_tls=no.

main.cf:
    smtp_tls_security_level = none

日和見TLS:

main.cf:
    smtp_tls_security_level = may

強制 (ハイグレード) TLS 暗号化:

main.cf:
    smtp_tls_security_level = encrypt
    smtp_tls_mandatory_ciphers = high

TLS検証の強制、ホスト名またはnexthopドメイン:

main.cf:
    smtp_tls_security_level = verify
    smtp_tls_mandatory_ciphers = high
    smtp_tls_verify_cert_match = hostname, nexthop, dot-nexthop

正確なnexthop名マッチングを使ったセキュリティチャネルTLS:

main.cf:
    smtp_tls_security_level = secure
    smtp_tls_mandatory_protocols = TLSv1
    smtp_tls_mandatory_ciphers = high
    smtp_tls_secure_cert_match = nexthop

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

smtp_tls_session_cache_database (デフォルト: empty)

オプションのPostfix SMTPクライアントTLSセッションキャッシュを持つファイルの名前。btreesdbmのように、enumerationをサポートしたデータベースの種類を指定します; 並列アクセスをサポートしている必要はありません。ファイルが存在しないと作成されます。smtp(8) デーモンはこのパラメータを直接使うのではなく、tlsmgr(8) デーモンでキャッシュが間接的に実装されています。これは、このパラメータのSMTPインスタンスごとの master.cf の上書きが有効にならないことを意味します。tlsmgr(8) デーモンがサポートしているそれぞれのキャッシュデータベースについての注意: $smtpd_tls_session_cache_database、$smtp_tls_session_cache_database (Postfix 2.3以降では $lmtp_session_cache_database も) は別々に保管される必要があります。現時点では複数のキャッシュを1つのデータベースに保管することはできません。

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

例:

smtp_tls_session_cache_database = btree:/var/spool/postfix/smtp_scache

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

smtp_tls_session_cache_timeout (デフォルト: 3600s)

Postfix SMTPクライアントTLSセッションキャッシュ情報が期限切れとなる時間。キャッシュの整理は $smtp_tls_session_cache_timeout 秒ごとに定期的に実行されます。$smtp_tls_session_cache_database と同様、このパラメータは tlsmgr(8) デーモンで実装されており、そのためSMTPインスタンスごとに master.cf を上書きすることはできません。

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

smtp_tls_verify_cert_match (デフォルト: hostname)

"verify" TLSセキュリティレベルでのサーバ証明書の peername 検証方法。"verify" TLSポリシーテーブル ($smtp_tls_policy_maps) のエントリで、オプションの "match" 属性はこの main.cf 設定を上書きします。

このパラメータは1つ以上のパターンもしくは戦略をカンマ、空白またはコロンで区切って指定します。ポリシーテーブルではコロンのみが有効な区切り文字です。

パターンにはドメイン名もしくはドメイン名サフィックスを指定します:

example.com
example.com ドメインにマッチします。つまり、サーバ証明書の名前の1つが example.com でなければいけません。大文字と小文字の区別は無視されます。
.example.com
example.com ドメインのサブドメインにマッチします。つまり、1文字以上のラベルとそれに続く .example.com サフィックスからで成り立つサーバ証明書の中の名前にマッチします。大文字・小文字の区別は無視されます。

戦略には next-hop ドメインからサーバ証明書で期待される名前への変換を指定します:

nexthop
受信者ドメイン、もしくはそのドメインに対して設定されたtransport next-hopからオプションのプレフィックスや四角括弧、それに続くポートを取り除いたドメインのいずれかのnext-hop ドメインに対してマッチします。MX検索が抑制されていなければ、MX検索の結果ではなく、MX検索よりも優先してこれがオリジナルのnexthopドメインになります。UNIXドメインソケットを使ったLMTP配送では、検証されたnext-hop名は $myhostname です。この戦略は "secure" ポリシーでの使用に適しています。大文字・小文字は無視されます。
dot-nexthop
上のとおりですが、next-hopドメインのサブドメインであるサーバ証明書名にマッチします。大文字・小文字は無視されます。
hostname
たいていは認証されていないDNS MX検索で得られる、サーバのホスト名にマッチします。UNIXドメインソケットを使ったLMTP配送では、検証された名前は $myhostname です。これは古い smtp_tls_per_site テーブルの "MUST" キーワードの検証戦略と一致するもので、"verify" セキュリティレベルでの使用に適しています。next-hop名がMX検索を省くために四角括弧でくくられている場合は、"hostname" 戦略は "nexthop" 戦略と同じです。大文字・小文字は無視されます。

サンプル main.cf 設定:

smtp_tls_verify_cert_match = hostname, nexthop, dot-nexthop

サンプルポリシーテーブルの上書き:

example.com     verify  match=hostname:nexthop
.example.com    verify  match=example.com:.example.com:hostname

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

smtp_use_tls (デフォルト: no)

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

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では smtp_tls_security_level を代わりに使ってください。

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 設定パラメータで指定されます。

デフォルトでは、クライアントは単位時間にPostfixが受けることができる限りの数の接続を張ることができます。

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

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

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

例:

smtpd_client_connection_rate_limit = 1000
smtpd_client_event_limit_exceptions (デフォルト: $mynetworks)

接続カウントや接続速度、SMTP要求速度の制限から除外されるクライアント。パラメータ値の文法は mynetworks パラメータの記述を参照してください。

デフォルトでは、信頼されたネットワークのクライアントが除外されます。ネットワークブロックやホスト名、.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_new_tls_session_rate_limit (デフォルト: 0)

リモートSMTPクライアントが単位時間にこのサーバとネゴシエートできる、新しい (つまりキャッシュされていない) TLSセッションの最大数。時間単位は anvil_rate_time_unit 設定パラメータで指定されます。

デフォルトでは、Postfixが単位時間で受け入れられる新しいTLSセッションの数と同じだけ、リモートSMTPクライアントはネゴシエートできます。

この機能を無効にするには、0 という制限を指定します。それ以外では、クライアントごとの同時セッション制限以上の制限を指定してください。そうしないと、適切なクライアントのセッションまで拒否されてしまうかもしれません。

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

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

例:

smtpd_client_new_tls_session_rate_limit = 100
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
クライアント証明書のフィンガープリントを指定された access(5) データベースの検索キーとして使います; Postfixバージョン2.2では、SMTPクライアント証明書の検証が成功することも要求します。この機能は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 にリストアップされている場合に、要求を許可します。この機能はPostfixバージョン2.2で使えます。
reject_rbl_client rbl_domain=d.d.d.d
逆にしたクライアントネットワークアドレスが rbl_domain 以下の A レコード "d.d.d.d" でリストアップされている場合に、要求を拒否します (Postfixバージョン 2.1以降のみ)。"=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
クライアントのホスト名が rbl_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_hostname (Postfix < 2.3 では: reject_unknown_client)
1) クライアントIPアドレス->名前のマッピングに失敗したとき、2) 名前->アドレスのマッピングに失敗したとき、または 3) 名前->アドレスマッピングがクライアントIPアドレスにマッチしなかったときに、要求を拒否します。
これは上の 1) の制限でのみ拒否する reject_unknown_reverse_client_hostname 機能よりも強い制限です。
unknown_client_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 450)。一時的な問題によってアドレス->名前もしくは名前->アドレスの検索に失敗した場合、応答は常に450です。
reject_unknown_reverse_client_hostname
クライアントIPアドレスにアドレス->名前のマッピングがない場合に要求を拒否します。
これはアドレス->名前と名前->アドレスマッピングが存在することだけではなく、二つのマッピングによって元のクライアントIPアドレスに戻ることを要求する reject_unknown_client_hostname 機能よりも弱い制限です。
unknown_client_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 450)。一時的な問題によってアドレス->名前の検索に失敗した場合、応答は常に 450 です。
この機能はPostfix 2.3以降で使えます。

これに加えて、以下の一般的な制限 を使えます。これらの制限は 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 アドレスで、かつエンベロープ受信者が複数の場合に要求を拒否します。この利用はまれですが、正しい応用方法です: ある条件下で、DSNオプションの NOTIFY=NEVER がついた状態で投函された複数の宛先を持つメールは null 送信者アドレスで転送されることがあります。
注意: SMTP対話の初期の段階では受信者の総数がわからないため、この制限は smtpd_data_restrictions または smtpd_end_of_data_restrictions で使われるときしか正確には働きません。RCPT の場面で使うと、2番目などの受信者のみを拒否します。
multi_recipient_bounce_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 550)。この機能はPostfix 2.1以降で使えます。
reject_plaintext_session
接続が暗号化されていない場合に要求を拒否します。このコマンドは、クライアントが AUTH もしくは STARTTLS コマンドでネゴシエートする機会を持つ前に使うべきではありません。
plaintext_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450)。この機能はPostfix 2.3以降で使えます。
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_hostname
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_open_until_valid_rcpt (デフォルト: yes)

有効な RCPT TO コマンドを受け取るまで、SMTPメールトランザクションの開始を遅らせます。SMTPサーバが有効な MAIL FROM コマンドを受け取ったらすぐにメールトランザクションを開始するのであれば、"no" を指定してください。

たくさんのメールを拒否するようなサイトでは、デフォルトの設定によりディスクやCPU、メモリリソースの使用を減らせます。欠点としては、拒否された受信者はメールトランザクションIDではなくNOQUEUEとログに記録されてしまいます。これを使うと、複数の受信者をもつメールのログファイル分析が複雑になります。

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

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 を参照してください。堅牢性の理由から、テーブルはホスト名で検索されません。

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

smtpd_discard_ehlo_keywords (デフォルト: empty)

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

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

注意:

smtpd_end_of_data_restrictions (デフォルト: empty)

Postfix SMTPサーバがSMTP END-OF-DATAコマンドの場面で適用する、オプションのアクセス制限。

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

文法の詳細は smtpd_data_restrictions を参照してください。

smtpd_enforce_tls (デフォルト: no)

強制TLS: SMTPクライアントにSTARTTLSサポートを通知し、クライアントが TLS暗号化を使うことを要求します。RFC 2487 により、これは公に参照されるSMTPサーバの場合には適用してはいけません。このオプションはデフォルトで無効になっており、専用サーバでのみ使うべきです。

注意 1: "smtpd_enforce_tls = yes" を指定すると、"smtpd_tls_auth_only = yes" も指定したことになります。

注意2: "sendmail -bs" から呼び出されると、Postfixはサーバのプライベートキーにアクセスする権限がないため、STARTTLSを提供しません。これは意図された振る舞いです。

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では、代わりに smtpd_tls_security_level を使ってください。

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_helo_hostname (Postfix < 2.3では: reject_invalid_hostname)
HELO または EHLO ホスト名の文法が不正な場合に、要求を拒否します。
invalid_hostname_reject_code には拒否された要求に対する応答コードを指定します (デフォルト: 501)。
reject_non_fqdn_helo_hostname (Postfix < 2.3では: reject_non_fqdn_hostname)
HELO または EHLO ホスト名の文法が RFC で要求されているような完全修飾ドメイン形式ではない場合に、要求を拒否します。
non_fqdn_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 504)。
reject_unknown_helo_hostname (Postfix < 2.3では: reject_unknown_hostname)
HELO または EHLO ホスト名のDNS AまたはMXレコードがない場合に、要求を拒否します。
unknown_hostname_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 450)。

この場面で有効な他の制限:

例:

smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname
smtpd_helo_restrictions = permit_mynetworks, reject_unknown_helo_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_milters (デフォルト: empty)

Postfix smtpd(8) サーバを通して届いた新しいメールに対する Milter (メールフィルタ) アプリケーションのリスト。詳細は MILTER_README ドキュメントを参照してください。

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

smtpd_noop_commands (デフォルト: empty)

文法チェックや状態の変更を行わずに、Postfixサーバが "250 OK" と応答するコマンドのリスト。このリストはPostfix SMTPサーバに組み込まれたいずれのコマンドも上書きします。

smtpd_null_access_lookup_key (デフォルト: <>)

null 送信者アドレスの代わりに SMTP access(5) テーブルで使われる検索キー。

smtpd_peername_lookup (デフォルト: yes)

リモートSMTPクライアントのホスト名検索を試行し、クライアントIPアドレスにその名前がマッチすることを検証します。クライアント名が検索できなかったり検証できなかった場合、名前の検索が無効になっている場合は、クライアント名は "unknown" と設定されます。名前の検索を無効にすることで、DNS検索による遅延を減らすことができ、内向きの最大配送速度を早くすることができます。

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

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サーバプロセスに結果を渡すと想定されています。

TCPで接続するには "host:port" もしくは "inet:host:port" を、UNIXドメインに接続するには "unix:pathname" を指定します。host はIPアドレスやシンボル名として指定することができます; MX検索はおこなわれません。host や host: が指定されないと、ローカルマシンであると想定されます。パス名はPostfixキューディレクトリからの相対パスで解釈されます。

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

"inet:" や "unix:" のプレフィックスはPostfix 2.3以降で使えます。

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の場合、もしくはアドレスが認められた配送先 (定義は permit_auth_destination を参照) の場合に、要求を許可します。
  • 安全性: permit_mx_backup は送信者指定のルーティング情報 (例: user@elsewhere@domain) を持つアドレスは受け付けません。
  • 安全性: アクセスが permit_mx_backup_networks で制限されていない場合、permit_mx_backup を間違って使うと脆弱性を持つ可能性があります。
  • 安全性: Postfixバージョン2.3では、ローカルメールシステムが受信者ドメインのプライマリMXの場合、permit_mx_backup はアドレスを受け付けなくなりました。例外: アドレスが認められた配送先 (定義は permit_auth_destination を参照) の場合には、 permit_auth_destination はアドレスを受け付けます。
  • 制限: Postfixバージョン2.0より前のバージョンでは、一時的に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 レコードでリストアップされている場合に、要求を拒否します。
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
Postfixが受信者アドレスの最終配送先ではなく、かつRCPT TOアドレスにDNS AもしくはMXレコードがない場合、もしくは長さがゼロのMXホスト名を持つような不正なMXレコードを持つ場合に、要求を拒否します (Postfixバージョン2.3以降)。
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および2.2で利用可能です。Postfix 2.3では、smtpd_sasl_path と改名されました。

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

SASL認証のユーザ名を smtpd(8) Received メッセージヘッダで報告します。

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

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

smtp_sasl_type で選ばれたSASLプラグインの実装にそのまま渡される、実装に依存する情報。通常はここに設定ファイル名やランデブーポイントの名前を指定します。

この機能はPostfix 2.3以降で使えます。以前のバージョンでは smtpd_sasl_application と呼ばれていました。

smtpd_sasl_security_options (デフォルト: noanonymous)

SASLセキュリティオプション; Postfix 2.3では、利用可能な機能は smtpd_sasl_type で選択されたSASLサーバの実装に依存します。

以下のセキュリティ機能は cyrus サーバSASL実装用に定義されているものです:

Postfix SMTPサーバがクライアントに提供する認証メカニズムを制限します。使用できる認証メカニズムのリストはシステムに依存します。

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

noplaintext
平文パスワードを使う方法を許可しません。
noactive
active (非辞書) 攻撃を受けるような方法を許可しません。
nodictionary
passive (辞書) 攻撃を受けるような方法を許可しません。
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認証セキュリティオプション。

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

smtpd_sasl_type (デフォルト: cyrus)

Postfix SMTPサーバが認証に使うSASLプラグインの種類。利用可能な種類は "postconf -a" コマンドでリストアップされます。

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

smtpd_sender_login_maps (デフォルト: empty)

送信者 (MAIL FROM) アドレスを持つ SASL ログイン名の、オプションの検索テーブル。

ゼロ個以上の "type:table" 検索テーブルを指定します。DBやDBMのようなインデックス化されたファイルからの検索や、NISや LDAP、SQLのようなネットワーク上のテーブルからの検索では、user@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 レコード "d.d.d.d" でリストアップされている場合に、要求を拒否します (Postfixバージョン 2.1以降のみ)。"=d.d.d.d" が指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている場合に、要求を拒否します。
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
Postfixが送信者アドレスの最終配送先ではなく、かつMAIL FROMアドレスにDNS AもしくはMXレコードがない場合、もしくは長さがゼロのMXホスト名を持つような不正なMXレコードを持つ場合に、要求を拒否します (Postfixバージョン2.3以降)。
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ハンドシェイクの開始からシャットダウン手順の間に読み書きする操作の時間制限。

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

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

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

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

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

smtpd_tls_always_issue_session_ids (デフォルト: yes)

TLSセッションキャッシングが無効になっているとき (smtpd_tls_session_cache_database が空) でも、Postfix SMTPサーバにTLSセッションID発行を強制します。この振る舞いはPostfix < 2.3と互換です。

TLSセッションキャッシングが無効になっている場合、Postfix 2.3以降では、Postfix SMTPサーバはセッションIDを生成しないようにできます。これによりほとんど再利用できないセッションをクライアントがキャッシュしないようにします。

デフォルトでは、Postfix SMTPサーバは常にTLSセッションIDを生成します。これはMS Outlookのようなメールクライアントアプリケーションの既知の欠陥を回避し、他のMTAとの互換性問題も予防するかもしれません。

例:

    smtpd_tls_always_issue_session_ids = no

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

smtpd_tls_ask_ccert (デフォルト: no)

リモートSMTPクライアントにクライアント証明書を依頼します。この情報は例えば permit_tls_clientcerts 機能を使っての、証明書ベースのメールリレーに必要です。

Netscapeのようなクライアントには、($smtpd_tls_CAfile のCAのリストの) 証明書が使えないと文句を言うか、複数のクライアント証明書を提供してそこから選べるようにするものもあります。これは面倒なので、デフォルトではこのオプションは "off" になっています。

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

smtpd_tls_auth_only (デフォルト: no)

Postfix SMTPサーバでTLS暗号化がオプションになっていると、暗号化されていない接続ではSASL認証を通知したり受け付けたりしません。

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

smtpd_tls_ccert_verifydepth (デフォルト: 5)

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

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

smtpd_tls_cert_file (デフォルト: empty)

PEMフォーマットの、Postfix SMTPサーバRSA証明書を持つファイル。このファイルはサーバプライベートキーも含んでいるかもしれません。

"信頼できる" CAによって署名された証明書がない、公開されたインターネットMXホストは自己署名もしくはプライベートCAによって署名された証明書を生成し、たいていのクライアントに提供する準備をしなければいけません。クライアントはサーバを認証できませんが、Postfix 2.3もしくは同様なソフトウェアを動かしているのでなければ、サーバ証明書を要求し続けるでしょう。

公開されたインターネットMXホストではないサーバでは、Postfix 2.3は証明書なしの設定をサポートしています。これは単に匿名TLS暗号を使うことになり、たいていのSMTPクライアントではサポートされていません。たいていはそのようなクライアントはTLSハンドシェイクに失敗した後で平文に落とそうとはしないため、サーバはTLSが有効なクライアントからeメールを受け取れなくなるでしょう。誤って証明書なしで設定してしまうのを避けるため、 Postfix 2.3は管理者が明示的に "smtpd_tls_cert_file = none" を設定したときのみ証明書なしの動作を有効にします。これにより新しいPostfix設定が誤って証明書なしで動かないようにすることを保証します。

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

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

smtpd_tls_cipherlist (デフォルト: empty)

古いPostfix < 2.3での、Postfix SMTPサーバTLS暗号リストの制御。デフォルトではない暗号リストを選んでしまうと簡単に相互運用性問題が生じてしまいます。公開されたインターネット上のMXホストでデフォルトではないTLS暗号リストを使ってはいけません。TLSハンドシェイクを始めるものの共通の暗号に合意できないクライアントは、SMTPサーバにEメールを送れないかもしれません。接続するクライアントのTLSソフトウェアおよび設定を制御することが可能であれば、専用のMSAまたは内部メールハブに対して暗号リストを制限して使うことがより適切かもしれません。

注意: パラメータ値の前後に "" 引用符を使わないでください。

この機能はPostfixバージョン2.2で使えます。Postfix 2.3以降では使われません; 代わりに smtpd_tls_mandatory_ciphers を使ってください。

smtpd_tls_dcert_file (デフォルト: empty)

PEMフォーマットでの、Postfix SMTPサーバDSA証明書を持つファイル。このファイルはサーバプライベートキーも含んでいるかもしれません。

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

例:

smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem

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

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://egd.sourceforge.net/ から取得できる "Entropy Gathering Daemon EGD" の利用を検討してもよいでしょう。

例:

smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem

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

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

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

smtpd_tls_dkey_file (デフォルト: $smtpd_tls_dcert_file)

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

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

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

smtpd_tls_exclude_ciphers (デフォルト: empty)

すべてのTLSセキュリティレベルにおいて、SMTPサーバの暗号リストから除外する暗号もしくは暗号のタイプをリストアップします。有効な暗号を除外すると、相互運用性の問題が生じるかもしれません。そうすることが必要でなければ、暗号を除外「しないでください」。これはOpenSSLの暗号リストではありません; 空白またはカンマで区切られたシンプルなリストです。要素は単一の暗号、もしくは1つ以上の "+" で区切られた暗号プロパティで、後者の場合すべてのプロパティがマッチしたときのみ除外されます。

例 (問題を起こすものもあります):

smtpd_tls_exclude_ciphers = aNULL
smtpd_tls_exclude_ciphers = MD5, DES
smtpd_tls_exclude_ciphers = DES+MD5
smtpd_tls_exclude_ciphers = AES256-SHA, DES-CBC3-MD5
smtpd_tls_exclude_ciphers = kEDH+aRSA

最初の設定は、匿名暗号を無効にします。次の設定はMD5ダイジェストアルゴリズムもしくは (シングル) DES暗号アルゴリズムを使う暗号を無効にします。次の設定はMD5とDESを一緒に使う暗号を無効にします。次の設定は "AES256-SHA" と "DES-CBC3-MD5" の2つの暗号を無効にします。最後の設定はRSA認証で "EDH" 鍵交換を使う暗号を無効にします。

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

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は使わないことを強くおすすめします。

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

smtpd_tls_mandatory_ciphers (デフォルト: medium)

TLS暗号が強制された場合にPostfix SMTPサーバが使う最低限のTLS暗号グレード。smtpd_tls_mandatory_exclude_cipherssmtpd_tls_exclude_ciphers にリストアップされた暗号のタイプは、選択された暗号グレードのベース定義から除外されます。日和見なTLS暗号では、smtpd_tls_exclude_ciphers で指定されたもののみを除外して、無条件に "export" グレードを使います。

以下の暗号グレードがサポートされています:

export
メインストリーム "EXPORT" グレード以上のOpenSSL暗号を有効にします。これは公共のMXホストに最も適切な設定であり、日和見TLS暗号化では常に使われます。基盤となる暗号リストは tls_export_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_export_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバがクライアント証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。常に匿名暗号を除外しなければならないのであれば、"smtpd_tls_exclude_ciphers = aNULL" を設定してください。TLSが強制された場合にのみ匿名暗号を除外するには、"smtpd_tls_mandatory_exclude_ciphers = aNULL" を設定します。
low
メインストリーム "LOW" グレード以上のOpenSSL暗号を有効にします。基盤となる暗号リストは tls_low_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_low_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバがクライアント証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。常に匿名暗号を除外しなければならないのであれば、"smtpd_tls_exclude_ciphers = aNULL" を設定してください。TLSが強制された場合にのみ匿名暗号を除外するには、"smtpd_tls_mandatory_exclude_ciphers = aNULL" を設定します。
medium
メインストリーム "MEDIUM" グレード以上のOpenSSL暗号を有効にします。これらは原則として128ビット以上の強度の暗号です。TLSが必須の場合、これは最低限の強度のデフォルトです。TLSを強制するものの "MEDIUM" もしくは "HIGH" グレードの暗号を全くサポートしないクライアントを持つMSAは、最低限の暗号グレードとして弱いもの ("low" または "export") を設定する必要があるかもしれません。基盤となる暗号リストは tls_medium_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_medium_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバがクライアント証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。常に匿名暗号を除外しなければならないのであれば、"smtpd_tls_exclude_ciphers = aNULL" を設定してください。TLSが強制された場合にのみ匿名暗号を除外するには、"smtpd_tls_mandatory_exclude_ciphers = aNULL" を設定します。
high
メインストリーム "HIGH" グレードのOpenSSL暗号を有効にします。基盤となる暗号リストは tls_high_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_high_cipherlist のデフォルト値には匿名暗号が含まれていますが、サーバがクライアント証明書を検証するように設定されているとこれらは自動的に取り除かれてしまいます。常に匿名暗号を除外しなければならないのであれば、"smtpd_tls_exclude_ciphers = aNULL" を設定してください。TLSが強制された場合にのみ匿名暗号を除外するには、"smtpd_tls_mandatory_exclude_ciphers = aNULL" を設定します。
null
暗号化せずに認証だけを提供する "NULL" OpenSSL暗号のみを有効にします。この設定はすべてのクライアントがNULL暗号 (TLSクライアントでは普通有効になっていません) を用意しているようなレアケースでのみ適切です。基盤となる暗号リストは tls_null_cipherlist 設定パラメータで指定できますが、これは変更しないことを強くお勧めします。tls_null_cipherlist のデフォルト値は匿名暗号を除外しています (OpenSSL 0.9.8には暗号化や認証なしでデータの完全性を提供するNULL暗号があります)。

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

smtpd_tls_mandatory_exclude_ciphers (デフォルト: empty)

TLSが必須なセキュリティレベルにおいて、SMTPサーバの暗号リストから除外する暗号もしくは暗号のタイプを追加でリストアップします。このリストは smtpd_tls_exclude_ciphers (文法の詳細はそちらを見てください) で除外するものとしてあげられたものに加えて機能します。

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

smtpd_tls_mandatory_protocols (デフォルト: SSLv3, TLSv1)

TLS暗号が強制された場合にPostfix SMTPサーバが受け入れるTLSプロトコル。日和見なTLS暗号では、すべてのプロトコルが常に受け入れられます。リストが空の場合、サーバは利用可能なすべてのTLSプロトコルバージョンをサポートします。空ではない値の場合、プロトコル名のリストを空白やカンマ、コロンで区切ります。サポートされているプロトコル名は "SSLv2"、"SSLv3" および "TLSv1" で、大文字・小文字の区別はありません。

例:

smtpd_tls_mandatory_protocols = SSLv3, TLSv1

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

smtpd_tls_received_header (デフォルト: no)

Postfix SMTPサーバがプロトコルや使われた暗号、クライアントCommonNameやクライアント証明書を発行したCommonNameといった情報を含む Received: メッセージヘッダを生成するように要求します。これは他のメールサーバを通っていく間に情報が書き換えられるかもしれないため、デフォルトでは無効になっています。最終配送先によって記録された情報のみが信頼できます。

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

smtpd_tls_req_ccert (デフォルト: no)

TLS暗号化が強制された場合、TLS接続の続行を許可するためにリモートSMTP クライアント証明書を要求します。このオプションは "smtpd_tls_ask_ccert = yes" という指定もなされます。

TLS暗号化が任意の場合、この設定は無視され、警告がメールログに記録されます。

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

smtpd_tls_security_level (デフォルト: empty)

Postfix SMTPサーバでのSMTP TLSセキュリティレベル; 空ではない値が指定されると、古い smtpd_use_tlssmtpd_enforce_tls パラメータをこれで上書きします。"smtpd_tls_wrappermode = yes" とすると、このパラメータは 無視されます。

以下のセキュリティレベルのうち1つを指定してください:

なし
TLSは使いません。
may
日和見TLS: STARTTLSサポートをクライアントに通知はしますが、クライアントがTLS暗号化を使うことは要求しません。
encrypt
強制TLS暗号化: SMTPクライアントにSTARTTLSサポートを通知し、クライアントが TLS暗号化を使うことを要求します。RFC 2487 により、これは公に参照されるSMTPサーバの場合には適用してはいけません。このオプションは専用サーバ上でのみ使うべきです。

注意1: "verify" および "secure" レベルはサポートされていません。Postfix SMTPサーバは警告をログに記録し、変わりに "encrypt" を使います。SMTPクライアント証明書を検証するには、TLS_READMEsmtpd_tls_ask_ccertsmtpd_tls_req_ccert および permit_tls_clientcerts に関する議論を参照してください。

注意2: "smtpd_tls_security_level = encrypt" のパラメータ設定は "smtpd_tls_auth_only = yes" も指定したことになります。

注意3: "sendmail -bs" から呼び出されると、Postfixはサーバのプライベートキーにアクセスする権限がないため、STARTTLSを提供しません。これは意図された振る舞いです。

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

smtpd_tls_session_cache_database (デフォルト: empty)

オプションのPostfix SMTPサーバTLSセッションキャッシュを含むファイルの名前。btreesdbmのように、enumerationをサポートしたデータベースの種類を指定します; 並列アクセスをサポートしている必要はありません。ファイルが存在しないと作成されます。smtpd(8) デーモンはこのパラメータを直接使うのではなく、tlsmgr(8) デーモンでキャッシュが間接的に実装されています。これは、このパラメータのSMTPDインスタンスごとの master.cf の上書きが有効にならないことを意味します。tlsmgr(8) デーモンがサポートしているそれぞれのキャッシュデータベースについての注意: $smtpd_tls_session_cache_database、$smtp_tls_session_cache_database (Postfix 2.3以降では $lmtp_session_cache_database も) は別々に保管される必要があります。現時点では複数のキャッシュを1つのデータベースに保管することはできません。

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

例:

smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_scache

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

smtpd_tls_session_cache_timeout (デフォルト: 3600s)

Postfix SMTPサーバTLSセッションキャッシュ情報が期限切れとなる時間。キャッシュの整理は $smtpd_tls_session_cache_timeout 秒ごとに定期的に実行されます。$smtpd_tls_session_cache_database と同様、このパラメータは tlsmgr(8) デーモンで実装されており、そのためSMTPDインスタンスごとに master.cf を上書きすることはできません。

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

smtpd_tls_wrappermode (デフォルト: no)

Postfix SMTPサーバをSTARTTLSコマンドを使うのではなく、非標準の "ラッパー" モードで走らせます。

このサービスをサポートしたければ、master.cf で特別なポートを有効にし、 SMTPサーバのコマンドラインで "-o smtpd_tls_wrappermode=yes" を指定してください。以前はこの目的のためにポート465 (smtps) が選ばれていました。

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

smtpd_use_tls (デフォルト: no)

日和見TLS: STARTTLSサポートをクライアントに通知はしますが、クライアントがTLS暗号化を使うことは要求しません。

注意: "sendmail -bs" から呼び出されると、Postfixはサーバのプライベートキーにアクセスする権限がないため、STARTTLSを提供しません。これは意図された振る舞いです。

この機能はPostfix 2.2以降で使えます。Postfix 2.3以降では、代わりに smtpd_tls_security_level を使ってください。

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ビット) のセッションキーを生成するのに十分です。

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

tls_export_cipherlist (デフォルト: ALL:+RC4:@STRENGTH)

"EXPORT" 以上のグレードの暗号用のOpenSSL暗号リスト。これは smtpd_tls_mandatory_cipherssmtp_tls_mandatory_cipherslmtp_tls_mandatory_ciphers における "export" 設定の意味を定義します。これは日和見 ("may") TLSクライアントセキュリティレベルでの暗号リストであり、SMTPサーバの暗号リストのデフォルトです。この設定は変更しないことを強く推奨します。

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

tls_high_cipherlist (デフォルト: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)

"HIGH" グレードの暗号用のOpenSSL暗号リスト。これは smtpd_tls_mandatory_cipherssmtp_tls_mandatory_cipherslmtp_tls_mandatory_ciphers における "high" 設定の意味を定義します。この設定は変更しないことを強く推奨します。

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

tls_low_cipherlist (デフォルト: ALL:!EXPORT:+RC4:@STRENGTH)

"LOW" 以上のグレードの暗号用のOpenSSL暗号リスト。これは smtpd_tls_mandatory_cipherssmtp_tls_mandatory_cipherslmtp_tls_mandatory_ciphers における "low" 設定の意味を定義します。この設定は変更しないことを強く推奨します。

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

tls_medium_cipherlist (デフォルト: ALL:!EXPORT:!LOW:+RC4:@STRENGTH)

"MEDIUM" 以上のグレードの暗号用のOpenSSL暗号リスト。これは smtpd_tls_mandatory_cipherssmtp_tls_mandatory_cipherslmtp_tls_mandatory_ciphers における "medium" 設定の意味を定義します。これはTLSクライアント側でTLS暗号化が必須な場合 (で、サーバ証明書を検証する際に匿名暗号が無効になっている場合) の暗号リストのデフォルトです。この設定は変更しないことを強く推奨します。

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

tls_null_cipherlist (デフォルト: !aNULL:eNULL+kRSA)

暗号化せずに認証を提供する "NULL" グレードの暗号用のOpenSSL暗号リスト。これは smtpd_tls_mandatory_ciphers や smtp_tls_mandatory_cipherslmtp_tls_mandatory_ciphers における "null" 設定の意味を定義します。この設定は変更しないことを強く推奨します。

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

tls_random_bytes (デフォルト: 32)

メモリ内乱数生成器 (PRNG) プールに種を(再び)与える際に、tlsmgr(8) が $tls_random_source から読み込むバイト数。デフォルトの32バイト (256ビット) は128ビットの対称キーには十分によい値です。EGDもしくはデバイスファイルを使う場合、最大の255バイトが読み込まれます。

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

tls_random_exchange_name (デフォルト: ${config_directory}/prng_exch)

tlsmgr(8) が管理する擬似乱数生成器 (PRNG) 状態ファイルの名前。ファイルが存在しなければ作成され、その長さは1024バイトに固定されます。

このファイルはPostfixによって改変されるため、$config_directory 以下ではなく、おそらく /var ファイルシステムに保存するべきです。chroot監獄の中に置くべきではありません。

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

tls_random_prng_update_period (デフォルト: 3600s)

$tls_random_exchange_name で指定されたファイルに擬似乱数生成器 (PRNG) の状態を tlsmgr(8) が保存しようとする時間間隔。

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

tls_random_reseed_period (デフォルト: 3600s)

tlsmgr(8) が外部ソースからメモリ内擬似乱数生成器 (PRNG) プールに再び種を与えるまでの最大時間間隔。実際に再び種を与えようとする時間間隔は0から指定された時間の間で、PRNGを使って計算されます。

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

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 を指定してください。

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

trace_service_name (デフォルト: trace)

trace サービスの名前。このサービスは bounce(8) デーモンによって実装されており、メールの配送記録を管理したり、"sendmail -v" で冗長な配送が要求された場合にメール配送レポートを生成します。

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

transport_maps (デフォルト: empty)

受信者アドレスから (メッセージ配送 transport、next-hop 配送先) へのマッピングを持つ、オプションの検索テーブル。詳細は transport(5) を参照してください。

ゼロ個以上の "type:table" 検索テーブルを指定します。この機能をローカルファイルで使うのであれば、変更後に "postmap /etc/postfix/transport" を実行してください。

安全上の理由から、Postfix 2.3ではこの機能は正規表現マップでの $number の置換が使えません。

例:

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サーバ応答コード。一時的なDNSエラーの場合には、応答は常に450です。

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

unknown_client_reject_code (デフォルト: 450)

有効なアドレス <=> 名前のマッピングのないクライアントが reject_unknown_client_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。SMTPサーバは一時的なエラー状態でマッピングが失敗した場合には常に450で応答します。

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

unknown_hostname_reject_code (デフォルト: 450)

HELO または EHLO コマンドで指定されたホスト名が reject_unknown_helo_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_destination_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およびnext-hop配送先。この情報は transport(5) テーブルで上書きできます。

transport:nexthop という形の文字列を指定します。ここで transportmaster.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) 配送エージェントは致命的エラーで終了します。