Postfix main.cf 設定ファイルには、Postfixメールシステムの動作を 制御する全てのパラメータのうち、小さなサブセットを指定します。 main.cf で指定されていないパラメータは、そのデフォルト値のまま 残されます。
main.cf ファイルの一般的な書式は以下の通りです:
それぞれの論理行は "parameter = value" の形式を取ります。 "=" の前後の空白は無視されます。また論理行の最後の空白も同様です。
空行と空白だけの行は無視されます。また、最初の非空白文字が `#' の行も同様です。
論理行は空白以外のテキストで始まります。空白で始まる行は 論理行を継続します。
パラメータの値は他のパラメータを参照することができます。
"$name" や "${name}"、"$(name)" という表記は指定された パラメータの値で再帰的に置き換えられます。
"${name?value}" という表記は、"$name" が空でない場合に "value" に展開されます。この形式はPostfix 2.2以降でサポートされて います。
"${name:value}" という表記は、"$name" が空の場合に "value" に展開されます。この形式はPostfix 2.2以降でサポートされて います。
同じパラメータが複数回定義されていると、最後のものだけが 記憶されます。
それ以外は、main.cf パラメータの定義の順番は重要では ありません。
このドキュメントの残りの部分は、全てのPostfix設定パラメータの 解説です。デフォルト値はパラメータ名の後のカッコ内に示され、 "postconf -d" コマンドで調べることもできます。
注意: これはPostfix設定パラメータの変更の勧めではありません。 不必要な変更はメールシステムの動作を損なうおそれがあります。
送信者に返すことができない不達メールの受信者。この機能は notify_classes パラメータで有効になります。
クライアントが access(5) マップ制限により 拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に 理解しているのでなければ、これを変更してはいけません。
アドレス検証プローブに対する default_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対する local_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
永続的なアドレス検証状態ストレージの、オプションの検索テーブル。 このテーブルは verify(8) サービスによって 管理され、プロセスが権限を解放する前に開かれます。
デフォルトでは、情報は揮発性メモリに保持され、"postfix reload" または "postfix stop" の後で失われます。
埋め尽くされることのないファイルシステムの場所を指定します。 データベースが壊れると、世界が終わってしまいます。修復するには ファイルを削除し、"postfix reload" します。
例:
address_verify_map = hash:/etc/postfix/verify address_verify_map = btree:/etc/postfix/verify
この機能はPostfix 2.1以降で使えます。
失敗したアドレス検証プローブの結果のキャッシュを有効にします。 この機能が有効になっていると、キャッシュはすぐにゴミで汚染される 可能性があります。この機能が無効になっていると、Postfixは全ての 検索にアドレスプローブを生成します。
この機能はPostfix 2.1以降で使えます。
失敗したプローブがアドレス検証キャッシュから消えるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
失敗したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
進行中のアドレス検証要求を完了するために verify(8) サービスに問い合わせる回数。
デフォルトのポーリング回数は 3 です。
1 を指定すると粗っぽい形で greylisting を実装します。すなわち、 以前に見たことがないアドレスの最初の配送要求は常に遅延されます。
例:
address_verify_poll_count = 1
この機能はPostfix 2.1以降で使えます。
進行中のアドレス検証要求を完了するための、問い合わせの間に入れる遅延。
デフォルトのポーリング遅延は 3 秒です。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
成功したプローブがアドレス検証キャッシュから消えるまでの時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
成功したプローブのアドレス検証キャッシュの更新が必要となるまでの時間。 アドレス検証状態はプローブが失敗すると更新されません (楽観的 キャッシング)。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対して、relay_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対して、relayhost パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブで使う送信者のアドレス。アドレスプローブに対して アドレスプローブを送ってしまう問題を回避するため、Postfix SMTP サーバは SMTPD access ブロックからプローブ送信者アドレスを除外します。
null 送信者アドレスを使いたい場合は空値 (address_verify_sender =) または <> を指定してください。RFC が <> からのアドレスを 受け付けるよう要求しているにもかかわらず、そのようなアドレスを拒否する サイトがあることに注意してください。
例:
address_verify_sender = <> address_verify_sender = postmaster@my.domain
この機能はPostfix 2.1以降で使えます。
verify(8) アドレス検証サービスの名前。この サービスは送信者や受信者のアドレス検証プローブの状態を管理し、他の Postfixプロセスによる要求でプローブを生成します。
アドレス検証プローブに対して、transport_maps パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
アドレス検証プローブに対して、virtual_transport パラメータ設定を上書きします。
この機能はPostfix 2.1以降で使えます。
"newaliases" や "sendmail -bi" で更新される、local(8) 配送のエイリアスデータベース。
$alias_maps で指定されるテーブル 全てがローカルファイルである必要はないため、これは別の設定パラメータに なっています。
例:
alias_database = hash:/etc/aliases alias_database = hash:/etc/mail/aliases
local(8) 配送で使われるエイリアスデータベース。 文法の詳細は aliases(5) を参照してください。
デフォルトのリストはシステムに依存します。NIS を持つシステムでは、 デフォルトではローカルのエイリアスデータベースを検索し、それから NIS エイリアスデータベースを検索します。
エイリアスデータベースを変更したら、"postalias /etc/aliases" (またはシステムがメールエイリアスファイルを保存している場所) を 走らせるか、単に "newaliases" を走らせて必要な DBM または DB ファイルを作ってください。
alias_maps での $1 などの 正規表現による置換はセキュリティホールを開けてしまう可能性があるため、 local(8) 配送エージェントはこれを許しません。
local(8) 配送エージェントは alias_maps で proxymap(8) を使うという要求を静かに 無視します。代わりにテーブルを直接オープンします。Postfixバージョン 2.2以前では、local(8) 配送エージェントは 致命的エラーで終了してしまいます。
例:
alias_maps = hash:/etc/aliases, nis:mail.aliases alias_maps = hash:/etc/aliases
local(8) が外部コマンドへメールを配送するのを 制限します。デフォルトでは :include: ファイルでの "|command" への配送を 認めません (この用例を定義している文章は aliases(5) を参照してください)。
コマンドを許可するためには、次のうちゼロ個またはそれ以上を指定して ください: alias、forward または include で、 それぞれ aliases(5)、.forward ファイルまたは :include: ファイルでのコマンドを許可します。
例:
allow_mail_to_commands = alias,forward,include
local(8) が外部ファイルへメールを配送するのを 制限します。デフォルトでは :include: ファイルで "/file/name" を配送先と するのを認めません (この用例を定義している文章は aliases(5) を 参照してください)。
"/file/name" 配送先を許可するためには、次のうちゼロ個または それ以上を指定してください: alias、forward または include で、それぞれ aliases(5)、 .forward ファイルまたは :include: ファイルで "/file/name" 配送先を許可します。
例:
allow_mail_to_files = alias,forward,include
受信者アドレスが最初の文字として `-' を持つことを許可します。 コマンドラインでEメールアドレスを渡すソフトウェアでの事故を避ける ため、デフォルトではこれを認めません。そのようなソフトウェアは 悪意のあるアドレスと正しいコマンドラインオプションを区別できない でしょう。これは "--" オプションターミネータをコマンドラインに 入れることで防げますが、一貫して全体に強制するのは困難です。
"user%domain" の形から "user@domain" への書き換えを有効にします。 これはデフォルトで有効になっています。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:
Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。
例:
allow_percent_hack = no
信頼していないクライアントから $relay_domains に マッチする配送先へ、送信者が指定したルーティング (user[@%!]remote[@%!]site) を 持つメールを転送します。
デフォルトでは、この機能は無効になっています。これはバックアップMX ホストが騙されてジャンクメールをプライマリMXホストに転送してしまい、 spam が世界中に送られてしまうことになる、厄介なオープンリレーの 抜け穴を塞ぎます。
このパラメータは送信者が指定したルーティングを持つ非ローカルアドレスが Postfix access テーブルにマッチできるかどうかも制御します。 デフォルトでは、そのようなアドレスは曖昧であるためPostfix access テーブルにはマッチできません。
コマンドラインの "-c config_directory" で指定されたり MAIL_CONFIG 環境変数パラメータで指定される、非デフォルトなPostfix設定 ディレクトリのリスト。
このリストはデフォルトのPostfix設定ディレクトリで指定されなければ なりません。またこのリストは postqueue(1) や postdrop(1) のようなset-gid されたPostfix コマンドによって使われます。
Postfixメールシステムが受け取ったメッセージそれぞれの "blind carbon copy" を受け取る、オプションのアドレス。
注意: BCC アドレス宛のメールがバウンスすると、送信者に返されます。
注意: 自動BCC受信者は新しいメールに対してのみ生成されます。 メーラループを避けるために、自動BCC受信者はPostfixが内部で転送する メールやPostfix自身が生成するメールに対しては生成されません。
クライアントの接続速度やその他の速度の計算に用いられる単位時間。
この機能は安定版Postfix 2.1 リリースには含まれない anvil(8) サービスに よって実装されています。
デフォルトの間隔はかなり短いです。更新の頻度が高いため、anvil(8) サーバは揮発性メモリしか使いません。つまり、プロセスが終了すると 情報は失われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
anvil(8) 接続および速度制限サーバが使用量のピーク情報をログに 記録する頻度。
この機能はPostfix 2.2以降で使えます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
ローカルで投函されたメールで、ドメイン情報のないメールアドレスに文字列 "@$myorigin" を付け加えます。 リモートで投函されたメールには、代わりに文字列 "@$remote_header_rewrite_domain" を付加します。
注意1: この機能はデフォルトで有効になっており、無効にしてはいけません。 Postfixはドメインのないアドレスをサポートしていません。
注意2: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:
Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。
ローカルで投函されたメールで、".domain" 情報のないアドレスに文字列 ".$mydomain" を付け加えます。 リモートで投函されたメールには、代わりに文字列 ".$remote_header_rewrite_domain" を付加します。
注意1: この機能はデフォルトで有効になっています。無効にするとユーザは "user@partialdomainname" にメールを送れなくなり、代わりに フルドメイン名を指定しなければならなくなります。
注意2: Postfixバージョン2.2では、メッセージヘッダアドレスの 書き換えは以下のいずれかの条件に当てはまったときのみに おこなわれます:
Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。
postkick(1) コマンドがサーバの入力バッファに 入ってくる要求を諦めずに待つ時間の長さ。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
キューのフラッシュを認証されたユーザのリスト。
デフォルトでは、すべてのユーザがキューのフラッシュを許されています。 呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、 アクセスは常に許可されます。それ以外の場合、システムパスワードファイルで プロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば 許可されます。パスワードファイルに実UIDが見つからないプロセスでは、 ユーザ名 "unknown" が使われます。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは 空白で区切って指定してください。リストは左から右へと検索され、 最初にマッチしたところで検索を止めます。リストから name を除外するには、 "!name" を指定します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルは、 名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。 次の行を空白で始めることで、長い行を継続します。
この機能はPostfix 2.2以降で使えます。
キューを見ることが認証されたユーザのリスト。
デフォルトでは、すべてのユーザがキューを見ることが許されています。 呼び出したユーザがスーパーユーザもしくは $mail_owner ユーザであれば、 アクセスは常に許可されます。それ以外の場合、システムパスワードファイルで プロセスの実UIDが調べられ、対応するログイン名がアクセスリストにあれば 許可されます。パスワードファイルに実UIDが見つからないプロセスでは、 ユーザ名 "unknown" が使われます。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと 検索され、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
この機能はPostfix 2.2以降で使えます。
sendmail(1) コマンド (および特権を持つ postdrop(1) ヘルパーコマンド) で メールを投函することが認証されたユーザのリスト。
デフォルトでは、すべてのユーザがメールの投函を許されています。 それ以外の場合、システムパスワードファイルでプロセスの実UIDが調べられ、 対応するログイン名がアクセスリストにあれば許可されます。 パスワードファイルに実UIDが見つからないプロセスでは、ユーザ名 "unknown" が使われます。
ユーザ名のリストや "/file/name"、"type:table" パターンを、カンマまたは空白で区切って指定してください。リストは左から右へと 検索され、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは、名前が検索キーにマッチしたときにマッチします (検索結果は無視されます)。次の行を空白で始めることで、長い行を継続します。
この機能はPostfix 2.2以降で使えます。
XVERP コマンドを指定できる SMTPクライアント。 このコマンドは同時に1つの受信者に、受信者ごとのリターンアドレスを 付けてメールを配送するように要求します。
デフォルトでは、信頼されたクライアントのみが XVERP を指定することが 許されます。
このパラメータはPostfixバージョン 1.1 で導入されました。Postfix バージョン 2.1 では、このパラメータは smtpd_authorized_verp_clients に 改名され、デフォルト値はなくなりました。
カンマや空白で区切った network/netmask パターンのリストを指定して ください。mask にはホストアドレスのネットワーク部分のビット数を 指定します。ホスト名や .domain 名 (最初にドットを付けると domain 以下のあらゆる名前にマッチするようになります)、"/file/name"、 "type:table" パターンを指定することも できます。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはテーブルの エントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。 次の行を空白で始めることで長い行を継続します。
注意: IPバージョン6アドレス情報は authorized_verp_clients 値や "/file/name" で指定されたファイルの中で [] の内側に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱してしまいます。
Postfixバージョン2.0以前でも読める、追加の bounce(8) ログファイルレコードを生成します。洗練された機能を実装するには現状および より拡張可能な "name = value" という書式が必要です。
この機能はPostfix 2.1以降で使えます。
Berkeley DB hash もしくは btree テーブルを作成するプログラムのための、 テーブルごとの I/O バッファサイズ。バイト数を指定します。
この機能はPostfix 2.0以降で使えます。
Berkeley DB hash もしくは btree テーブルを読み込むプログラムのための、 テーブルごとの I/O バッファサイズ。バイト数を指定します。
この機能はPostfix 2.0以降で使えます。
"mail loops back to myself" エラー条件を検出した場合にPostfix クライアントがメールを送るべき場所。これはローカル MTA が $mydestination や $inet_interfaces、 $proxy_interfaces、 $virtual_alias_domains、 $virtual_mailbox_domains にリストアップされていない配送先のSMTPメール交換機の場合に起こります。 デフォルトでは、Postfix SMTPクライアントはそのようなメールを 配送できないものとして返します。
例えば、SMTPクライアントからのメールを local(8) 配送エージェントに渡すには "best_mx_transport = local" を指定します。master.cf に 定義されているメッセージ配送 "transport" または "transport:nexthop" を 指定することもできます。"transport" や "transport:nexthop" の 文法や意味は transport(5) マニュアルページを 参照してください。
しかし、この機能は local(8) 配送エージェントが 仕事をしている間Postfix SMTPクライアントプロセスを拘束してしまうため、 負荷が高くなります。ホスティング しているドメインを全てテーブルやデータベースにリストアップしておくのが (Postfixにとって) より効果的です。
ローカル biff サービスを使うかどうか。 このサービスは UNIX コマンド "biff y" で 新着メール通知を要求したユーザに "新着メール" 通知を送ります。
互換性の理由から、この機能はデフォルトで有効になっています。 インタラクティブユーザの多いシステムでは、biff サービスがパフォーマンスの浪費になるかもしれません。無効にするには main.cf に "biff = no" を指定します。
body_checks(5) マニュアルページに 書かれているようなコンテンツ検査をおこなう、オプションの検索テーブル。
注意: バージョン 2.0 以前のPostfixでは、これらのルールは最初の メッセージヘッダの後のコンテンツ全てを検査します。
body_checks 検査を受ける メッセージ本体セグメント (もしくは添付、この単語の方がよければ) の テキストの量。テキストの量は巨大な添付ファイルのスキャンを避けるために 制限されます。
この機能はPostfix 2.0以降で使えます。
Postfixが配送しなかったメールのヘッダ、およびPostfixが 受け取らなかったメールの SMTP 対話の写しを持つ、ポストマスターへの 通知の受信者。この機能は notify_classes パラメータで有効になっています。
配送できないと見なすまでに、バウンスメッセージがキューに入っている 最大の時間。デフォルトでは、通常のメールに対するキューの寿命と同じです。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d (日) です。
メール配送の試行を1回だけにするには 0 を指定します。
この機能はPostfix 2.1以降で使えます。
bounce(8) サービスの名前。このサービスは 失敗した配送試行の記録を管理し、不達通知を生成します。
この機能はPostfix 2.0以降で使えます。
不達通知で送られるオリジナルメッセージテキストの最大量。バイト数を 指定します。この制限を増やしたら、それに比例して mime_nesting_limit の 値も増やすべきです。
古いバージョンの AUTH コマンド (RFC 2554) を 実装したSMTPクライアントとの相互運用性を有効にします。このような クライアントにはMicroSoft Outlook Expressバージョン4やMicroSoft Exchange バージョン5.0といった例があります。
標準的でない方法の AUTH サポートをPostfixに案内させるには、 "broken_sasl_auth_clients = yes" を指定します。
canonical_maps アドレスマッピングを受けるアドレス。 デフォルトでは、canonical_maps マッピングはエンベロープ送信者および受信者アドレス、 そしてヘッダ送信者およびヘッダ受信者アドレスに適用されます。
以下の1つ以上を指定します: envelope_sender, envelope_recipient, header_sender, header_recipient
この機能はPostfix 2.2以降で使えます。
オプションのメッセージヘッダおよびエンベロープのアドレスマッピング 検索テーブル。マッピングは送信者および受信者アドレスの両方、エンベロープ およびヘッダの両方で、canonical_classes パラメータで制御されたように適用されます。これは典型的には、 古いメールシステムの汚いアドレスをきれいにしたり、ログイン名を Firstname.Lastname で置き換えるのに使われます。テーブルの書式と検索は canonical(5) に記述されています。 Postfixアドレス操作の概要は ADDRESS_REWRITING_README ドキュメントを参照してください。
この機能を使う場合、必要な DBM または DB ファイルを作るために、 更新するたびに "postmap /etc/postfix/canonical" を実行して ください。変更は1分程度で反映されます。遅延をなくすには "postfix reload" を使ってください。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスマッピングは メッセージヘッダアドレスの書き換えが有効になっているときのみに なされます:
Postfix 2.2以前の振る舞いにしたければ、 "local_header_rewrite_clients = static:all" を指定してください。
例:
canonical_maps = dbm:/etc/postfix/canonical canonical_maps = hash:/etc/postfix/canonical
cleanup(8) サービスの名前。このサービスは アドレスを標準的な形式に書き換え、canonical(5) アドレスマッピングと virtual(5) エイリアシングを 実行します。
この機能はPostfix 2.0以降で使えます。
全てのPostfix管理コマンドの場所。
外部コマンドへの配送に使う local(8) 配送エージェントのワーキングディレクトリ。ディレクトリの変更に失敗すると 配送は遅延されます。
ディレクトリ変更前に以下の $name 展開が command_execution_directory でなされます。展開は配送要求の段階で起こります。$name 展開の結果は execution_directory_expansion_filter パラメータで指定された文字セットでフィルタリングされます。
$name の代わりに ${name} や $(name) を指定することもできます。
この機能はPostfix 2.2以降で使えます。
$mailbox_command の $name 展開で local(8) 配送エージェントが許す 文字を制限します。許可されたセット以外の文字はアンダースコアで置き換え られます。
外部コマンドへの配送の時間制限。この制限は local(8) 配送エージェントによって使われます。また pipe(8) 配送エージェントによる配送のデフォルトの時間制限でもあります。
注意: この時間制限を大きな値に設定するのであれば、一般的な ipc_timeout パラメータも同様に更新しなければいけません。
Postfix main.cf および master.cf 設定ファイルのデフォルトの場所。 これは以下のメカニズムを通して上書きされます:
MAIL_CONFIG 環境変数 (デーモンプロセスおよびコマンド)。
"-c" コマンドラインオプション (コマンドのみ)。
set-gid権限で動くPostfixコマンドでは、config_directory を 上書きするには、root権限でおこなうか、デフォルトの main.cf ファイルの alternate_config_directories パラメータでディレクトリがリストアップされていることが必要です。
scache(8) 接続キャッシュサービスの名前。 このサービスはキャッシュされたセッションの限られた集まりを管理します。
論理的な配送先や物理的な端点に対して接続キャッシュのヒットやミスの 割合といった利用統計を scache(8) サーバがログに記録する頻度。
scache(8) 接続キャッシュサーバが許す 最大生存時間の値。より大きなTTLを指定する要求は、最大限許されるTTLで 保存されます。この追加制御は、不注意な人たちから基盤を保護することが目的です。 キャッシュTTLはすでに $max_idle で制限されています。
キューに入った後でメールをフィルタリングするメール配送transportの名前。
このパラメータはPostfix transport(5) テーブルの右側部分と同じ文法を使います。この設定は access(5) テーブルや header_checks(5)、 body_checks(5) テーブルで指定される コンテンツフィルタよりも優先度は下です。
Postfixサポートプログラムおよびデーモンプログラムがあるディレクトリ。 これらは人間によって直接呼び出されるべきではありません。ディレクトリは root が所有しなければいけません。
ビルトイン監視タイマーによって終了するまでの、Postfixデーモン プロセスが要求を扱うことができる時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
リモートクライアントまたはサーバが debug_peer_list パラメータのパターンにマッチした場合の、冗長ログレベルの増分。
冗長ログレベルを $debug_peer_level で 指定された量だけ増加させる、リモートクライアントまたはサーバのホスト名 またはネットワークアドレスのパターンのオプションのリスト。
ドメイン名や network/netmask パターン、"/file/name" パターン、 "type:table" 検索テーブルを指定します。 "type:table" 検索からの右側部分の 結果は無視されます。
ドメイン名のパターンマッチは parent_domain_matches_subdomains パラメータによって制御されます。
例:
debug_peer_list = 127.0.0.1 debug_peer_list = some.domain
Postfixデーモンプログラムが -D オプション付きで呼ばれたときに 実行される外部コマンド。
処理が進む前にデバッガを装着するために、"command .. & sleep 5" を 使ってください。X ベースのデバッガを使うのであれば、Postfixを 起動する前に XAUTHORITY 環境変数を設定していることを確認してください。
例:
debugger_command = PATH=/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5
newaliases(1) や postalias(1)、 postmap(1) コマンドで使う、 デフォルトのデータベース形式。多くの UNIX システムでは、デフォルトの 形式は dbm か hash のどちらかです。デフォルトの設定は Postfixシステムが構築される際に固定されます。
例:
default_database_type = hash default_database_type = dbm
Postfixキューマネージャのスケジューラがあるメッセージを他のメッセージの 配送に割り込みを許す頻度。
それぞれの transport はいわゆる「利用可能な配送スロットカウンタ」を 管理します。あるメッセージは、他のメッセージが現在蓄積している (または最終的に蓄積する - 以下の slot loan を参照) メッセージカウンタ よりも配送スロット (すなわち配送エージェントの呼び出し) が少なければ、 そのメッセージによって割り込まれます。このパラメータはカウンタが増加する 頻度を制御します - default_delivery_slot_cost の 受信者数に配送されるごとに増加します。
完全に割り込みスケジューリングを無効にするには、コストとして 0 を 使います。スケジューリングアルゴリズムが使える最小値は 2 です - メッセージスループット速度を最大にしたければ、この値を使ってください。 最大値はありませんが、およそ 50 を超える値を使うのは意味がありません。
2という値がデフォルトではないのは、このパラメータがメーリングリストの メール配送に影響を及ぼすというのが唯一の理由です。最悪の場合、 それらの配送は割り込みスケジュールが無効になっている場合のおよそ (cost+1/cost) から (cost/cost-1) 倍になります。5というデフォルト値は、 最悪の場合でもメーリングリストの配送が 20-25 パーセント以上伸びない ことが確認されており、合理的なメッセージ応答時間が得られることが わかっています。
例:
default_delivery_slot_cost = 0 default_delivery_slot_cost = 2
transport に特有の _delivery_slot_discount 設定のデフォルト値。
このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。 要求された配送スロットの量が全て使えるようになるのを待つのではなく、 要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、 割り込みが起こります。後で他の割り込みが起こる場合には、その前に 全量が蓄積していなければいけないことに注意してください。
transport に特有の _delivery_slot_loan 設定のデフォルト値。
このパラメータはメッセージ割り込みが起こった瞬間の速度を上げます。 要求された配送スロットの量が全て使えるようになるのを待つのではなく、 要求量プラス transport_delivery_slot_loan の transport_delivery_slot_discount パーセントが蓄積を待って残っていれば、 割り込みが起こります。後で他の割り込みが起こる場合には、その前に 全量が蓄積していなければいけないことに注意してください。
同じ配送先への並列配送の、デフォルトの最大数。これは lmtp(8) や pipe(8)、smtp(8)、virtual(8) 配送エージェントを使った配送のデフォルトの制限です。
メッセージ配送ごとの受信者数の、デフォルトの最大数。これは lmtp(8) や pipe(8)、smtp(8)、virtual(8) 配送エージェントを使った配送のデフォルトの制限です。
このパラメータの値を1に設定すると、対応する配送先ごとの並列制限は ドメインごとの並列度から受信者ごとの並列度へと意味を変えます。
transport ごとの予備のメモリ内受信者数に課せられる制限のデフォルト値。 Postfixキューマネージャのスケジューラがあるメッセージに他の メッセージを割り込みが入り、パフォーマンス低下を避けるために 選択されたメッセージが急に余計な受信者スロットを必要とした場合の ために、予備の受信者空間が予約されます。
Postfixキューマネージャのスケジューリングアルゴリズムを呼び出さなければ ならなくなる、1メッセージの受信者の数。少なくともこの配送スロット数まで 蓄積していない(スロットコストパラメータの制約も受けます) メッセージは 割り込みを受けません。
外部ファイルまたはコマンドへの配送で、local(8) 配送エージェントが使うデフォルトの権限。これらの権限は root が 所有する aliases(5) ファイルから配送が 要求されたり、root の代理として配送がなされる際に使われます。 特権ユーザや POSTFIX の所有者を指定してはいけません。
指定されたサービスを提供するPostfix子プロセスの、デフォルトの最大数。 この制限は master.cf ファイルの特定のサービスに対して上書きできます。
RBL ベースの制限で拒否された要求に対する、デフォルトの SMTPサーバ 応答のテンプレート。このテンプレートはオプションの rbl_reply_maps 検索テーブルのエントリで指定することで上書きできます。
この機能はPostfix 2.0以降で使えます。
テンプレートはちょうど1レベルの $name 置き換えを受けます:
$name の代わりに ${name} や $(name) も指定できます。
メモリ内受信者数の transport ごとのデフォルトの上限。メッセージが それぞれの transport に割り振られた後は、これらの制限は一般的な qmgr_message_recipient_limit よりも優先されます。 default_extra_recipient_limit や qmgr_message_recipient_minimum も 参照してください。
$mydestination、 $inet_interfaces、$proxy_interfaces、 $virtual_alias_domains、 $virtual_mailbox_domains または $relay_domains に マッチしなかったドメイン宛の、デフォルトのメール配送 transport。 この情報は transport(5) テーブルで 上書きできます。
transport:nexthop という形の文字列を指定します。ここで transport は master.cf に定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。より詳細は transport(5) マニュアルページを参照してください。
例:
default_transport = uucp:relayhostname
デフォルトの2つの VERP 区切り文字。これらは SMTP XVERP コマンドや "sendmail -V" コマンドラインオプションで指定された明示的な 区切り文字が指定されていない場合に使われます。verp_delimiter_filter 設定で許可されている文字を指定してください。
この機能はPostfix 1.1 以降で使えます。
リモートSMTPクライアントの要求が "defer" 制限で拒否された場合の、 数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に 理解していないのであれば、これを変更しないでください。
defer(8) サービスの名前。このサービスは 失敗した配送試行の記録を管理し、不達通知を生成します。
この機能はPostfix 2.0以降で使えます。
誰かが "sendmail -q" または等価なものを実行しなければ配送される べきではないメッセージ配送 transport の名前。master.cf の最初の フィールドに現れるメール配送 transport の名前をゼロ個もしくは それ以上指定します。
例:
defer_transports = smtp
$delay_warning_time 時間単位内に送れなかったメールのメッセージヘッダを持つ、ポストマスターへの 通知の受信者。
この機能は delay_warning_time パラメータで有効になります。
依然としてキューに入っているメールのメッセージヘッダを送信者が 受け取るまでの時間。
この機能を有効にするには、ゼロ以外の整数値を指定します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は h (時) です。
メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする最大回数。
メールボックスファイルや bounce(8) ログファイルの排他的ロックを獲得しようとする時間間隔。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
Postfix SMTPおよびLMTPクライアントでのDNS検索を無効にします。 無効になると、通常は /etc/hosts も検索する gethostbyname() システム ライブラリルーチンを使ってホストが検索されます。
デフォルトではDNS検索は有効になっています。
メール受信中の MIME 処理を無効にします。これは Content-Type: メッセージ ヘッダを特別扱いせず、最初のメッセージヘッダの後にある全てのテキストは メッセージ本体の一部と見なされることを意味します。
この機能はPostfix 2.0以降で使えます。
MIME 入力の処理はデフォルトで有効になっており、これはメッセージの 中身で MIME ヘッダを認識するのに必要です。
8BITMIME 形式から 7BIT 形式への変換を無効にします。MIME 出力の変換は 配送先が 8BITMIME サポートを案内しない場合に必要です。
この機能はPostfix 2.0以降で使えます。
受信者ごとに1つのバウンスレポートを送らないようにします。
受信者ごとに1つというデフォルトは ezmlm が必要としているものです。
この機能はPostfix 1.1 以降で使えます。
SMTP VRFY コマンドを無効にします。これはEメールアドレス収集に使われる あるテクニックを止めます。
例:
disable_vrfy_command = no
キューファイルを削除せずに、それらを "saved" メールキューに保存します。 これはデバッグを助けます。エンベロープ情報やPostfixキューファイルの 中身を調べるには、postcat(1) コマンドを 使ってください。
メールシステムによって生成されるポストマスターへの通知の送信者アドレス。 このアドレスへの全てのメールは、メールバウンスループを終わらせるために、 静かに破棄されます。
aliases(5) または virtual(5) エイリアスの展開や showq(8) キューの 表示に対して、アドレス複製フィルタが記憶するアドレスの最大数。
null アドレス宛のメールの受信者。Postfixはそのようなアドレスを SMTP コマンドでは受けませんが、設定やソフトウェアエラーの結果として ローカルで生成される可能性があります。
エンベロープ送信者アドレスの代わりに、非標準的な Error-To: メッセージ ヘッダで指定されたアドレスにメール配送エラーを報告します (この機能はPostfix 2.2では削除され、Postfix 2.1以降ではこのサポートは デフォルトで無効になっており、それ以前のバージョンの Potfix では 常に有効です)。
X-Original-To メッセージヘッダのサポートを有効にします。このヘッダは 受信者が複数いるメールボックスに必要です。
このパラメータが yes に設定されていると、cleanup(8) デーモンは (元の受信者、書き換えられた受信者) の厳密な組み合わせの重複を なくし、元の受信者が空ではないキューファイル記録を生成します。
このパラメータが no に設定されていると、cleanup(8) デーモンは書き換えられた受信者アドレスだけの重複をなくし、元の受信者が空の キューファイル記録を生成します。
この機能はPostfix 2.1以降で使えます。Postfix 2.0 では、X-Original-To メッセージヘッダのサポートは常に有効です。2.0 以前のバージョンの Postfixでは、X-Original-To メッセージヘッダのサポートはありません。
ポリシー、リソース、ソフトウェアまたはプロトコルエラーによって 起きたメール配送問題に関するポストマスターへの通知の受信者。これらの 通知は notify_classes パラメータで有効にされます。
error(8) 疑似配送エージェントの名前。この サービスは常にメールを配送できないものとして返します。
この機能はPostfix 2.0以降で使えます。
local(8) 配送エージェントが $command_execution_directory の $name 展開で許す文字を制限します。許可されたセット以外の文字は アンダースコアで置き換えられます。
この機能はPostfix 2.2以降で使えます。
対応する "owner-aliasname" エイリアスを持つエイリアス "aliasname" への 配送時に、エンベロープ送信者アドレスとして "owner-aliasname" エイリアスを展開したものをセットします。通常は、Postfixはエンベロープ 送信者アドレスを "owner-aliases" エイリアスの名前にセットします。
Postfixプロセスが非Postfixプロセスに渡す環境変数のリスト。 System-V 系のシステムで時間を健全に保つには TZ 変数が必要です。
名前や name=value の組を空白またはカンマで区切ったリストを指定します。 name=value の形式はPostfix 2.1以降でサポートされています。
例:
export_environment = TZ PATH=/bin:/usr/bin
メールが "sendmail -t" で投函された際に、Postfixがメッセージヘッダから 抽出する受信者アドレスの最大数。
この機能はPostfix 2.1 で削られました。
見つからなかったり到達できない SMTP 配送先への、オプションのリレー ホストのリスト。
デフォルトでは、配送先が見つからない場合にはメールは送信者に返され、 配送先に到達できない場合には配送が遅延されます。
fallback relayはSMTPによる配送先でなければいけません。ドメイン、 ホスト、host:port、[host]:port、[address] または [address]:port を 指定します; [host] の形式はMX検索を無効にします。複数のSMTP 配送先を指定すると、Postfixは指定された順でそれらを試します。
注意: バックアップまたはプライマリMXドメインにメールをリレーする 場合には、fallback_relay 機能を使ってはいけません。最終配送先が使えないと、Postfix MXホストと fallback_relay の間で メールがループしてしまいます。
これらはPostfixバージョン2.2以降でのデフォルト設定です。
aliases(5) データベースや UNIX passwd データベースに名前が見つからない場合に、local(8) 配送エージェントが使う、オプションのメッセージ配送transport。
配送先ごとのログファイルに適格な配送先で、それらの配送先宛のキューに 入ったメールを持つものの、オプションのリスト。
デフォルトでは、PostfixはPostfix SMTPサーバがリレーしようとする 配送先に対してのみ、"高速flush" ログファイルを管理します (すなわち デフォルトは "fast_flush_domains = $relay_domains"; postconf(5) マニュアルの relay_domains パラメータを 参照してください)。
ホストまたはドメイン、"/file/name" パターン、"type:table" 検索テーブルを カンマや空白で区切って指定してください。次の行を空白で始めることで 長い行を継続します。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはドメイン またはその親ドメインが検索キーとして現れるとマッチします。
この機能を完全に無効にするには "fast_flush_domains =" (つまり空) を指定します。
空の配送先ごとの "高速 flush" ログファイルが削除されるまでの時間。
数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は日です。
空ではないが読まれていない 配送先ごとの "高速 flush" ログファイルの 更新が必要となるまでの時間。ログファイルの内容はログファイルに リストアップされた全てのメッセージの配送を要求することで更新されます。
数値、または数字に時間単位を示す文字を付けて時間を指定できます: s=秒、m=分、h=時間、d=日、w=週。デフォルトの時間単位は時間です。
内部テストの失敗がないと再現が難しいエラーの扱いをテストするため、 特定の内部テストの失敗を強制します。
flush(8) サービスの名前。このサービスはキューに 入っているメールのキューファイル名を持つ配送先ごとのログファイルを 管理します。
この機能はPostfix 2.0以降で使えます。
子プロセスを fork() しようとする最大回数。
子プロセスの fork() 試行間に入れる遅延。
時間単位: s (秒), m (分), h (時間), d (日), w (週)。デフォルトの 時間単位は s (秒) です。
$forward_path の $name 展開で local(8) 配送エージェントが許す文字を制限 します。許可されたセット以外の文字はアンダースコアで置き換えられます。
ユーザが指定した配送方法が書かれた .forward ファイルを見つけるための、 local(8) 配送エージェント検索リスト。最初に 見つかったファイルが使われます。
実際に検索を始める前に、forward_path では以下のように $name が展開されます。$name 展開の結果は forward_expansion_filter パラメータで指定された文字セットでフィルタリングされます。
$name の代わりに ${name} や $(name) も指定できます。
例:
forward_path = /var/forward/$user forward_path = /var/forward/$user/.forward$recipient_delimiter$extension, /var/forward/$user/.forward
hash_queue_names パラメータに リストアップされたキューディレクトリの、サブディレクトリレベル数。
hash_queue_names または hash_queue_depth パラメータの 変更後は、コマンド "postfix reload" を実行してください。
複数のサブディレクトリレベルにわたって分割されるキューディレクトリの 名前。
Postfixバージョン2.2以前では、ハッシュされたキューのデフォルトリストは 非常に大きなものでした。ファイルシステム技術の向上に関する要求は、 improvements in file system + technology suggest that hashing of the incoming および active queues キューは 今となっては不要であることを示唆しています。ハッシュ化したディレクトリを 少なくすると、Postfixを再起動するのに必要な時間の高速化になります。
hash_queue_names または hash_queue_depth パラメータの 変更後は、コマンド "postfix reload" を実行してください。
アドレスメッセージヘッダ内で許されるアドレストークンの最大数。 制限を超えた情報は破棄されます。 この制限は cleanup(8) サーバによって強制されます。
header_checks(5) マニュアルページに 書かれているような、非MIMEな最初のメッセージヘッダのコンテンツ検査を おこなう、オプションの検索テーブル。
メッセージヘッダを格納するメモリの、バイト単位の最大量。 それよりもヘッダが大きい場合、超過分は破棄されます。この制限は cleanup(8) サーバによって強制されます。
問題のある設定をログで警告し、参考になる忠告を提供します。
この機能はPostfix 2.0以降で使えます。
オプションのメールボックスファイルの local(8) ユーザのホームディレクトリからの相対パス名。
qmail 形式の配送をするには、"/" で終わるパス名を指定します。
local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transport、 mailbox_command_maps、mailbox_command、 home_mailbox、mail_spool_directory、 fallback_transport そして luser_relay。
例:
home_mailbox = Mailbox home_mailbox = Maildir/
最初のメッセージヘッダで許される Received: メッセージヘッダの最大数。 制限を超えたメッセージはメーラループを止めるためにバウンスされます。
Postfixサブシステムや機能に関する構築方法や設定方法、操作方法が 書かれたPostfix HTMLファイルの場所。
応答しないDNS MX検索を無視します。デフォルトでは、Postfix SMTP クライアントは配送を遅延し、しばらくしてから再試行します。 この振る舞いは SMTP 標準によって要求されています。
代わりにDNS Aレコード検索を強制するには、 "ignore_mx_lookup_error = yes" を指定してください。これは SMTP 標準からはずれており、メールの配送ミスを起こす可能性があります。
Postfixプロセスが非Postfix親プロセスから受け取る環境変数 パラメータのリスト。関連するパラメータの例:
名前や name=value の組のリストを空白またはカンマで区切って指定します。 name=value 形式はPostfix 2.1以降でサポートされています。
メッセージ到着速度がメッセージ配送速度を超えた場合に、新しいメッセージを 受ける前に一時停止する時間。この機能はデフォルトで有効になっています (SCO バグのため、SCO UNIX では無効にされています)。
デフォルトの 100 SMTPサーバプロセス制限では、"in_flow_delay = 1s" は1秒あたりのメッセージ配送数を超えて入ってくるメールを 毎秒 100 メッセージに制限します。
この機能を無効にするには 0 を指定します。有効な遅延は 0..10 です。
このメールシステムがメールを受け取るネットワークインターフェース アドレス。"all" を指定すると、すべてのネットワークインターフェースで メールを受け取り (デフォルト)、"loopback-only" を指定するとループバック ネットワークインターフェースのみでメールを受け取ります (Postfix 2.2以降)。 このパラメータは user@[ip.address] 宛のメール配送も制御します。
注意1: このパラメータを変更したらPostfixを stop してから start する 必要があります。
注意2: アドレス情報を [] の中に入れることもできますが、 ここではこの形式は推奨しません。
inet_interfaces が ループバックアドレスではないIPv4やIPv6アドレスを1つだけ指定している場合、 Postfix SMTPクライアントはこのアドレスを外行きメールのIPソース アドレスとして使います。IPv6のサポートはPostfixバージョン2.2以降で使えます。
マルチホームなファイアウォールで、"内側" と "外側" インターフェースで listenする別々のPostfixインスタンスを持つと、それぞれのインターフェースが ファイアウォールの "反対側" のサーバに到達できなくなってしまいます。 smtp_bind_address を 0.0.0.0 とすることでIPv4の潜在的な問題を避け、 smtp_bind_address6 を :: とするとIPv6の問題を解決します。
マルチホームなファイアウォールのよりよい解決策は、inet_interfaces を デフォルト値のままにしておき、代わりに master.cf SMTPサーバ定義で 明示的なIPアドレスを使います。これはファイアウォールのそれぞれの側が、 他のIPアドレスも同じホストにあるとわからせることで、SMTPクライアントの ループ検出を維持します。$inet_interfaces に単一のIPv4やIPv6アドレスを設定すると、主に、それぞれのIPアドレスが 異なるドメインを提供する (そして異なる $myhostname 設定を持つ) 場合に、セカンダリIPアドレスでバーチャルホスティングを するのに便利です。
プロキシやアドレス変換を通ってPostfixに転送されてくるネットワークアドレスに ついては、proxy_interfaces パラメータも参照してください。
例:
inet_interfaces = all (デフォルト) inet_interfaces = loopback-only (Postfix 2.2以降) inet_interfaces = 127.0.0.1 inet_interfaces = 127.0.0.1, [::1] (Postfix 2.2以降) inet_interfaces = 192.168.1.2, 127.0.0.1
Postfixが接続したり受ける際に使おうとするインターネットプロトコル。 "ipv4" または "ipv6" の1つ以上を、空白またはカンマで区切って指定します。 "all" という形式は "ipv4, ipv6" または "ipv4" と等価で、これは オペレーティングシステムがIPv6を実装しているかによります。
この機能はPostfixバージョン2.2以降で使えます。
注意: このパラメータを変更したらPostfixを stop してから start しなければ「いけません」。
IPV6_V6ONLY サポート (RFC 3493) より前のシステムでは、IPv4を inet_protocols パラメータで無効にしていても、IPv6サーバはIPv4 接続も受けてしまいます。IPV6_V6ONLY サポートのあるシステムでは、 PostfixはIPv6とIPv4で別々のサーバソケットを使い、それぞれ対応する プロトコルの接続のみを受けます。
IPv4サポートが inet_protocols パラメータで有効になっていると、PostfixはDNSタイプAレコード検索を おこない、IPv4-in-IPv6 クライアントIPアドレス (::ffff:1.2.3.4) を 元のIPv4形式 (1.2.3.4) に変換します。後者は IPV6_V6ONLY サポート (RFC 3493) 以前のホストで必要です。
IPv6サポートが inet_protocols パラメータで有効になっていると、 PostfixはDNSタイプAAAAレコード検索をおこないます。
IPv4とIPv6サポートの両方が有効になっていると、Postfix SMTP クライアントはIPv4を使おうとする前にIPv6で接続を試みます。
例:
inet_protocols = ipv4 (デフォルト) inet_protocols = all inet_protocols = ipv6 inet_protocols = ipv4, ipv6
同じ配送先に並列で配送する際の、配送先ごとの並列度の初期値。この制限は smtp(8) を使った配送や、pipe(8) や virtual(8) 配送エージェントを使った配送に 適用されます。
警告: 並列度を 1 にすると、悪いメッセージが1つあるだけであるサイトへの 全てのメールを止めてしまうことになりかねません。
クライアントの HELO または EHLO コマンドパラメータが reject_invalid_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821を完全に理解して いないのであれば、これを変更しないでください。
アイドル状態になっている内部接続チャネルをクライアントが閉じるまでの 時間。これはサーバがアイドル状態になったあとで、自主的に終了できる ようにすることが目的です。これは例えばアドレス解決および書き換え クライアントによって使われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
内部通信チャネルを通して情報を送受信する際の時間制限。これは デッドロック状態を打破するのが目的です。制限時間を超えると、 ソフトウェアは致命的エラーを出して強制終了します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
アクティブな内部通信チャネルをクライアントが閉じるまでの時間。これは クライアントが制限に達した際に、サーバが自主的に終了できるように することが目的です。これは例えばアドレス解決および書き換え クライアントによって使われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
入力時に、長い行は最大でこの長さの断片に分けられます; 配送時には 長い行は再構築されます。
$max_idle 秒になるまでPostfix LMTP クライアントの接続を開いたままにします。LMTPクライアントが同じ接続を 要求された際に、接続は再利用されます。
キャッシュされた接続の効率は使用中のLMTPサーバの数とLMTP クライアントに対して指定された並列度の制限によって決まります。 キャッシュされた接続は以下のいずれかの条件で閉じられます:
これらの制限の多くはPostfixが複数のLMTPクライアントプログラムで 共有する接続キャッシュを実装したときになくなる予定です。
TCP接続を完了するまでの LMTPクライアントの時間制限、またはゼロ (オペレーティングシステムのビルトイン時間制限を使います)。期限までに 接続できないと、LMTPクライアントはメール交換機リストの次のアドレスを 試行します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
例:
lmtp_connect_timeout = 30s
LMTP "." を送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。期限までに応答を受けないと、メールが複数回配送されるかも しれないという警告がログに記録されます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
LMTP DATA コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
LMTPメッセージコンテンツを送る際のLMTPクライアントの時間制限。 接続が $lmtp_data_xfer_timeout 以上の時間行き詰まると、LMTPクライアントは転送を終了します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
lmtp メッセージ配送 transport を使った同じ配送先への並列配送の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
lmtp メッセージ配送 transport を使った、配送ごとの受信者の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
このパラメータの値を1に設定すると、lmtp_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。
LMTPグリーティングバナーを受け取るまでのLMTPクライアントの時間制限。 サーバがグリーティングバナーを送らずに接続を落としたり、期限までに グリーティングバナーを送らないと、LMTPクライアントはメール交換機 リストの次のアドレスを試行します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
MAIL FROM コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
QUIT コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
RCPT TO コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
RSET コマンドを送り、サーバの応答を受け取るまでの、LMTPクライアントの 時間制限。LMTPクライアントは受信者アドレス探査を終わらせるためや、 キャッシュされた接続がまだ生きているかどうかを確認するために RSET を送ります。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
Postfix LMTPクライアントのSASL認証を有効にします。
ホストまたはドメインごとに1つの username:password エントリを持つ、 オプションの LMTPクライアント検索テーブル。リモートホストや リモートドメインの username:password エントリがない場合、Postfix LMTP クライアントはそのリモートホストに対して認証を試そうとしません。
Postfix LMTPクライアントで使うことが許される認証メカニズム。 使用できる認証メカニズムのリストはシステムに依存します。
例:
lmtp_sasl_security_options = noplaintext
LMTP LHLOサーバ応答が XFORWARD サポートを通知した場合に、LMTPサーバに XFORWARD コマンドを送ります。これはコンテンツフィルタによるメッセージの 差し挟みに使われる lmtp(8) 配送エージェントが 元のクライアントの名前やアドレス、プロトコル、HELO名をコンテンツ フィルタや下流でキューイングするLMTPサーバに転送できるようにします。 値を yes に変更する前に、コンテンツフィルタがこのコマンドをサポート しているか確認するのがよいでしょう。
この機能はPostfix 2.1以降で使えます。
LMTP QUIT コマンドへの応答を待ちます。
Postfix LMTPクライアントが接続する、デフォルトのTCPポート。
XFORWARD コマンドを送り、サーバの応答を受け取るまでの、LMTP クライアントの時間制限。
問題が起こった場合、クライアントはメール交換機リストの次のアドレスを 「試しません」。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
local(8) が非Postfixコマンドに配送する際の、 オプションのシェルプログラム。デフォルトでは、非Postfixコマンドは直接 実行されます; コマンドがシェルのメタ文字やシェルビルトインコマンドを 含んでいる場合に限り、コマンドは /bin/sh に与えられます。
"sendmail's restricted shell" (smrsh) は例えば .forward ファイルから 実行できるプログラムを制限するために、最も多くの人が使うものでしょう (smrsh は Sendmail 配布物の一部です)。
注意: シェルプログラムが指定されると、コマンドがシェルビルトイン コマンドやメタ文字を含んでいない場合でもそれが呼ばれます。
例:
local_command_shell = /some/where/smrsh -c
local メール配送 transport を使った同じ受信者への並列配送の最大数 ("local_destination_recipient_limit = 1" の場合)、または同じローカルドメインへの並列配送の最大数 ("local_destination_recipient_limit > 1" の場合)。この制限はキュー マネージャによって強制されます。メッセージ配送 transport の名前は master.cf ファイルのエントリの最初のフィールドです。
.forward ファイルやエイリアスに (メーリングリストマネージャのような) 負荷の高いシェルコマンドがある場合だけに備えた、2という低い制限が 推奨されます。同時にこれらをたくさん動かす必要はないでしょう。
local メール配送 transport を使ったメッセージ配送ごとの、最大の 受信者数。この制限はキューマネージャによって強制されます。 メッセージ配送 transport の名前は master.cf ファイルのエントリの 最初のフィールドです。
このパラメータを1より大きい値に変更すると、 local_destination_concurrency_limit の意味が受信者ごとの並列度から ドメインごとの並列度に変わります。
これらのクライアントから来たメールのメッセージヘッダアドレスを書き換え、 不完全なアドレスに $myorigin や $mydomain を付けて更新します; 他のクライアントからのメッセージヘッダは一切書き換えないか、 メッセージヘッダを書き換えて不完全なアドレスに remote_header_rewrite_domain パラメータで指定されたドメインを付けて更新するかのどちらかです。
不完全なアドレスにドメイン名を付加する方法の詳細は、 append_at_myorigin および append_dot_mydomain パラメータを参照してください。
以下のうち、ゼロ個以上のリストを指定してください:
例:
Postfix < 2.2後方互換な設定: 常にメッセージヘッダを書き換え、 不十分なヘッダアドレスに自身のドメインを付加します。
local_header_rewrite_clients = static:all
純粋主義者 (そしてデフォルト) の設定: Postfix sendmailからのメールと、 このマシンからのSMTPメールのヘッダのみを書き換えます。
local_header_rewrite_clients = permit_inet_interfaces
中間の設定: Postfix sendmailやローカルクライアント、認証されたSMTP クライアントからのメールのみ、ヘッダアドレスを書き換えて、 $myorigin または $mydomain を付加します。
注意: この設定はリモートクライアントからのメールが近隣システムから 転送された場合に、リモートメールヘッダアドレスの書き換えを妨げません。
local_header_rewrite_clients = permit_mynetworks, permit_sasl_authenticated permit_tls_clientcerts check_address_map hash:/etc/postfix/pop-before-smtp
ローカル受信者の全ての名前もしくはアドレスを持つ検索テーブル: ドメインが $mydestination や $inet_interfaces、 $proxy_interfaces に マッチする受信者アドレスがローカルです。有効な受信者リストを持たない ドメインはワイルドカードとして @domain を指定します。 技術的には、$local_recipient_maps でリストアップされたテーブルはリストとして使われます: Postfixは検索文字列が 見つかるかどうかだけを知る必要があり、検索テーブルの結果は使いません。
このパラメータが空でなければ (デフォルトです)、Postfix SMTPサーバは 知らないローカルユーザ宛のメールを拒否します。
Postfix SMTPサーバでのローカル受信者チェックを無効にするには、 "local_recipient_maps =" (つまり空値) を指定します。
デフォルトの設定はローカル配送にデフォルトのPostfix local 配送 エージェントを使うことを想定しています。次の場合には local_recipient_maps 設定を 更新する必要があります:
詳細は LOCAL_RECIPIENT_README ファイルに記述されています。
注意: Postfix SMTPサーバが chroot されて走っている場合、chroot アクセス制限を乗り越えるために proxymap(8) サービスを通してpasswdファイルにアクセスする必要があります。代わりにシステム パスワードファイルのコピーをchroot監獄で管理するのは実用的では ありません。
例:
local_recipient_maps =
$mydestination、$inet_interfaces または $proxy_interfaces に マッチするドメイン宛の、デフォルトのメール配送transport。この情報は transport(5) テーブルで上書きできます。
デフォルトでは、ローカルメールは単に master.cf ファイルで定義された サービスの名前である "local" という transport に配送されます。
transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照してください。
注意: デフォルトの local 配送エージェントを上書きするのであれば、 LOCAL_RECIPIENT_README ドキュメントを 再検討する必要があります。そうしないと、SMTPサーバはローカルの受信者宛の メールを拒否してしまうかもしれません。
知らない local(8) 受信者全ての、オプションの 配送先。デフォルトでは、$mydestination や $inet_interfaces、$proxy_interfaces に マッチするドメインの知らない受信者宛のメールは、配送できないものとして 返されます。
luser_relay では以下の $name 展開がおこなわれます:
$name の代わりに ${name} や $(name) を指定することもできます。
注意: luser_relay はPostfix local(8) 配送エージェントに対してのみ働きます。
注意: UNIX パスワードファイルにないアカウントに対してこの機能を 使うのであれば、main.cf ファイルで "local_recipient_maps =" (つまり空値) を指定しなければいけません。そうしないと、Postfix SMTP サーバは非 UNIX アカウント宛のメールを "User unknown in local recipient table" として拒否してしまいます。
例:
luser_relay = $user@other.host luser_relay = $local@other.host luser_relay = admin+$local
Received: ヘッダや SMTP グリーティングバナー、バウンスされたメールに 表示されるメールシステム名。
PostfixキューおよびほとんどのPostfixデーモンプロセスを所有する UNIX システムアカウント。他のアカウントとグループを共有せず、システムの 他のファイルやシステムを所有しないユーザアカウント名を指定します。 特に、nobody や daemon を指定しないでください。「専用のユーザIDと グループIDを使ってください。」
このパラメータ値を変更したら、"postfix set-permissions" (Postfix 2.0以前では: "/etc/postfix/post-install set-permissions") を 再度実行する必要があります。
"YYYYMMDD" 形式のPostfixリリース日。
local(8) UNIX形式のメールボックスが置かれる ディレクトリ。デフォルトの設定はシステムの種類に依存します。maildir 形式で 配送するには、/ で終わる名前を指定します。
注意: maildir 配送は受信者の権限でおこなわれます。maildir 形式の配送で mail_spool_directory 設定を 使う場合、前もってトップレベルの maildir ディレクトリを作らなければ いけません。Postfixは作りません。
例:
mail_spool_directory = /var/mail mail_spool_directory = /var/spool/mail
メールシステムのバージョン。安定版は major.minor.patchlevel のように付けられています。 試験版はリリース日も含んでいます。バージョン文字列は、例えば SMTP グリーティングバナーで使われるかもしれません。
メールボックス配送に local(8) 配送エージェントが 使う、オプションの外部コマンド。コマンドは受信者のユーザIDと主となる グループID権限で動きます。例外: root宛のコマンド配送は $default_privs 権限で実行します。1) root宛のメールは実在ユーザにエイリアスされるべきであり、 2) rootとしてログインせず "su" を使うべきなので、これは問題ではありません。
以下の環境変数がコマンドに渡されます:
他のPostfix設定パラメータとは異なり、mailbox_command パラメータは $name の置換を受けません。これはシェル文法の指定を容易に するためです (例を参照)。
シェルのメタ文字があると、Postfixは負荷の高いシェルプロセスを 走らせなければならなくなるため、できるだけ避けてください。Procmail を 使って配送しているのであれば、全体の負荷としてシェルでも大差 ないでしょう。
注意: システム全体のメール配送に mailbox_command 機能を使うのであれば、root宛のメールを実在のユーザに転送するようなエイリアスを 作らなければいけません。
local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transport、 mailbox_command_maps、mailbox_command、 home_mailbox、mail_spool_directory、 fallback_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"
local(8) メールボックス配送で使われる、受信者ごとの 外部コマンドを持つ、オプションの検索テーブル。振る舞いは mailbox_command での指定と同じです。
local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transport、 mailbox_command_maps、mailbox_command、 home_mailbox、mail_spool_directory、 fallback_transport そして luser_relay。
配送しようとする前に UNIX 形式の local(8) メールボックスにロックする方法。利用可能なファイルロック方法をリストアップ するには、"postconf -l" コマンドを使ってください。
maildir 形式の配送では明示的なロックなしでも安全であるため、 この設定は無視されます。
注意: dotlock 方式では、メールボックスファイルの親ディレクトリに 受信者の UID または GID の書き込み権が必要です。
注意: このパラメータのデフォルトの設定はシステムに依存します。
local(8) の個々のメールボックスまたは maildir の 最大サイズ、もしくはゼロ (制限なし)。実際には、これは local(8) 配送エージェントによって実行される外部コマンドが書き込むファイルも含めて、 ローカル配送で書かれるあらゆるファイルのサイズを制限します。
この制限はメッセージサイズ制限よりも小さくしてはいけません。
UNIX passwd データベースでの有無にかかわらず、全てのローカル受信者への メールボックス配送に local(8) 配送エージェントが 使う、オプションのメッセージ配送 transport。
local(8) 配送機能の優先度は高いものから低いものの 順に: aliases、.forward files、mailbox_transport、 mailbox_command_maps、mailbox_command、 home_mailbox、mail_spool_directory、 fallback_transport そして luser_relay。
Postfix mailq(1) コマンドがインストールされた 場所を指定するSendmail互換機能。このコマンドはPostfixメールキューを リストアップするのに使われます。
Postfixマニュアルページがインストールされた場所。
古い機能: 代わりに reject_rbl_client 機能を使ってください。
リモートSMTPクライアントの要求が reject_rbl_client や reject_rhsbl_client、reject_rhsbl_sender、 reject_rhsbl_recipient 制限で ブロックされた場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821を完全に理解して いないのであれば、これを変更しないでください。
アドレスマスカレードを受けるアドレスの種類。
デフォルトでは、アドレスマスカレードはエンベロープ送信者アドレス、 およびヘッダ送信者・ヘッダ受信者アドレスに制限されます。 これにより、個々のマシンのユーザにメールを転送できるようにしたままで、 メールゲートウェイ上でアドレスマスカレードが使えるようになります。
次のゼロ個もしくはそれ以上を指定してください: envelope_sender、 envelope_recipient、header_sender、header_recipient
Eメールアドレスのサブドメイン構造が削られるドメインの、オプションの リスト。
リストは左から右へと処理され、最初にマッチしたところで処理を止めます。 つまり、
masquerade_domains = foo.example.com example.com
は "user@any.thing.foo.example.com" を "user@foo.example.com" までしか削りませんが、"user@any.thing.else.example.com" を "user@example.com" に削ります。
ドメイン名の前に ! をつけると、そのドメインやサブドメインはマスカレード しないことを意味します。つまり、
masquerade_domains = !foo.example.com example.com
は "user@any.thing.foo.example.com" や "user@foo.example.com" を変化 させませんがer@any.thing.else.example.com" を "user@example.com" へと 削ります。
注意: Postfixバージョン2.2では、メッセージヘッダマスカレードはメッセージ ヘッダアドレスの書き換えが有効になっている場合にのみなされます:
Postfix 2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
例:
masquerade_domains = $mydomain
$masquerade_domains に マッチしてもアドレスマスカレードを受けないユーザ名の、オプションのリスト。
デフォルトでは、アドレスマスカレードは例外を作りません。
ユーザ名、"/file/name" または "type:table" パターンを空白やカンマで区切ったリストを指定します。リストは左から右へと マッチし、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは name が検索キーにマッチするとマッチします (検索結果は無視されます)。 次の行を空白で始めることで長い行を継続します。
例:
masquerade_exceptions = root, mailer-daemon masquerade_exceptions = root
Postfixデーモンプロセスが終了するまでに次のサービス要求を待つ最大時間。 Postfixキューマネージャはこのパラメータを無視します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
Postfixデーモンプロセスが終了するまでの接続要求の最大数。Postfix キューマネージャや他の長生きなPostfixデーモンプロセスはこの パラメータを無視します。
遅延メッセージの配送を試行する最大の時間間隔。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
配送できないものとして送り返すまでに、メッセージがキューに入っている 最大の時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は d(日) です。
配送を1度だけしか試さないようにするのであれば、0 を指定します。
エンベロープ情報を含む、バイト単位のメッセージの最大サイズ。
MIMEマルチパート境界文字列の最大長。MIMEプロセッサは最初の $mime_boundary_length_limit 文字が異ならない境界文字列を区別することができません。
この機能はPostfix 2.0以降で使えます。
header_checks(5) マニュアルページに 書かれているような、MIMEに関連したメッセージヘッダのコンテンツ検査をおこなう、 オプションの検索テーブル。
この機能はPostfix 2.0以降で使えます。
MIME処理で扱う最大の再帰レベル。Postfixは指定された制限よりも ネストが深いメールを拒否します。
この機能はPostfix 2.0以降で使えます。
遅延メッセージの配送を試行する最小の時間間隔。このパラメータは到達 できない配送先が短期間・メモリ内配送状態キャッシュに保持される時間も 制限します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
リモートSMTPクライアントの要求が reject_multi_recipient_bounce 制限でブロックされた場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821を完全に理解して いないのであれば、これを変更しないでください。
この機能はPostfix 2.1以降で使えます。
$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 パラメータで指定されているもの) 宛のメールアドレスでも選ばれます。
警告:
バーチャルドメインの名前は指定しないでください - これらの ドメインは別の場所で指定されます。詳細情報は VIRTUAL_README を 参照してください。
このマシンがバックアップMXホストになっているドメイン名は 指定しないでください。バックアップMXホストをセットアップする方法は STANDARD_CONFIGURATION_README を参照してください。
デフォルトでは、Postfix SMTPサーバは local_recipient_maps パラメータにリストアップされていない受信者宛のメールを拒否します。 local_recipient_maps や unknown_local_recipient_reject_code パラメータの記述は postconf(5) マニュアルを 参照してください。
ユーザ名、"/file/name" または "type:table" パターンを空白やカンマで区切ったリストを指定します。リストは左から右へと マッチし、最初にマッチしたところで検索を止めます。リストから name を 除外するには、"!name" を指定します。"/file/name" パターンはその内容で 置き換えられます; "type:table" 検索テーブルは name が検索キーにマッチするとマッチします (検索結果は無視されます)。次の行を 空白で始めることで長い行を継続します。
例:
mydestination = $myhostname, localhost.$mydomain $mydomain mydestination = $myhostname, localhost.$mydomain www.$mydomain, ftp.$mydomain
このメールシステムのインターネットドメイン名。デフォルトでは $myhostname から最初の要素を 引いたものを使います。$mydomain は 他の多くの設定パラメータのデフォルト値として使われます。
例:
mydomain = domain.tld
このメールシステムのインターネットホスト名。デフォルトでは gethostname() から得た完全修飾ドメイン名を使います。$myhostname は 他の多くの設定パラメータのデフォルト値として使われます。
例:
myhostname = host.domain.tld
"よそ者" よりも多くの権限を持つ "信頼された" SMTPクライアントの リスト。
特に、"信頼された" SMTPクライアントはPostfixを通したメールの 中継が許可されます。postconf(5) マニュアルの smtpd_recipient_restrictions の 記述を参照してください。
"信頼された" ネットワークアドレスのリストは手動で指定することも Postfixに指定させること (これがデフォルトです) もできます。 詳細な情報は mynetworks_style パラメータの記述を参照してください。
mynetworks リストを手動で指定すると、 Postfixは mynetworks_style の 設定を無視します。
ネットワークアドレスまたは network/netmask パターンを、空白やカンマで 区切ったリストを指定します。次の行を空白で始めることで長い行を継続します。
netmask にはホストアドレスのネットワーク部分のビット数を指定します。 "/file/name" や "type:table" パターンを 指定することもできます。"/file/name" パターンはその内容で置き換えられます; "type:table" 検索テーブルはテーブル エントリが検索文字列にマッチするとマッチします (検索結果は無視されます)。
リストは左から右へとマッチされ、最初のマッチで検索を止めます。 リストからアドレスやネットワークブロックを除外するには、"!pattern" を指定します。
注意: IPバージョン6アドレス情報は mynetworks 値や "/file/name" で指定されるファイル内で [] の内側に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、 そうしないと "type:table" パターンと 混乱してしまいます。
例:
mynetworks = 127.0.0.0/8 168.100.189.0/28 mynetworks = !192.168.0.1, 192.168.0.0/28 mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:5c7::]/64 mynetworks = $config_directory/mynetworks mynetworks = hash:/etc/postfix/network_table
mynetworks パラメータのデフォルト値を 生成する方法。これはリレーアクセス制御などのための信頼されたネットワークの リストです。
Postfixがローカルマシンのみを"信頼する"のであれば、 "mynetworks_style = host" を 指定します。
Postfixがローカルマシンと同じIPサブネットワークにあるSMTP クライアントを"信頼する"のであれば、"mynetworks_style = subnet" を 指定します。Linuxでは、インターフェースが "ifconfig" コマンドで 指定された場合にのみ正確に働きます。
Postfixがローカルマシンと同じIPクラスA/B/Cネットワークにある SMTPクライアントを"信頼する"のであれば、"mynetworks_style = class" を 指定します。ダイアルアップサイトではこれを指定しないでください - Postfixがプロバイダのネットワーク全体を"信頼して"しまいます。 代わりに、mynetworks 設定パラメータに 書かれているように、手動で明示的に mynetworks リストを指定してください。
ドメイン名で、ローカルで投函されたメールはそこから来たように見え、 またローカルで投かんされたメールはそこに配送されます。 デフォルトの $myhostname は 小さなサイトに適しているでしょう。複数のマシンを持つドメインを運用しているので あれば、(1) これを $mydomain に変えて、(2) それぞれの user を user@that.users.mailhost にエイリアスするような、ドメイン全体のエイリアスデータベースを 設定すべきです。
例:
myorigin = $mydomain
header_checks(5) マニュアルページに 書かれているような、添付されたメッセージの非MIMEメッセージヘッダの コンテンツ検査をおこなう、オプションの検索テーブル。
この機能はPostfix 2.0以降で使えます。
newaliases(1) コマンドの場所を指定している Sendmail 互換機能。このコマンドは local(8) aliases(5) データベースを再構築するのに 使われます。
クライアントの要求が reject_non_fqdn_hostname や reject_non_fqdn_sender、reject_non_fqdn_recipient 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
ポストマスターに報告されるエラークラスのリスト。デフォルトでは最も 深刻な問題のみが報告されます。偏執的な人はポリシー (UCE および メールのリレー) やプロトコルエラー (壊れたメールソフトウェア) の報告も 有効にしたいかもしれません。
エラークラスは:
例:
notify_classes = bounce, delay, policy, protocol, resource, software notify_classes = 2bounce, resource, software
アドレスのローカル部分が owner-listname および listname-request と なっているものを特別扱いします: recipient_delimiter が "-" になっていても、そのようなアドレスを分割しません。この機能は メーリングリストに便利です。
明示的な ".domain.tld" パターンを要求する代わりに、自動的に "domain.tld" のサブドメインがマッチするPostfixの機能。これは 後方互換性を意図しています: 最終的には、本当にサブドメインにマッチ させたい場合には、明示的な ".domain.tld" 形式のパターンを全ての Postfix機能が要求することになる予定です。
permit_mx_backup SMTPアクセス 機能の使用を、プライマリMXホストがリストアップされたネットワークにマッチする ドメインだけに制限します。
pickup(8) サービスの名前。このサービスは ローカルで投かんされたメールをPostfix maildropキュー から収集します。
この機能はPostfix 2.0以降で使えます。
Postfix local(8) 配送エージェントが Delivered-To: メッセージヘッダを前置する、メッセージ配送の場面。
デフォルトでは、メールの転送時やファイル(メールボックス)および コマンドへの配送時に、Postfix local 配送エージェントは Delivered-To: ヘッダを前に付けます。メール転送時に Delivered-To: を無効にするのは 勧められません。
forward や file、command のうちゼロ個以上を 指定します。
例:
prepend_delivered_header = forward
PostfixコマンドまたはデーモンプロセスのプロセスID。
$queue_directory からのPostfix PIDファイルの相対位置。これは読みとり専用のパラメータです。
Postfixコマンドまたはデーモンプロセスのプロセス名。
検索キーから検索結果へと拡張アドレスをコピーするアドレス検索テーブル。
例えば、"joe@domain -> joe.user" の virtual(5) マッピングでは、"joe+foo@domain" は "joe.user+foo" に 書き換えられます。
canonical や virtual、alias、forward、 include、generic のうちゼロ個以上を指定します。これらは それぞれ 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
プロキシまたはネットワークアドレス変換ユニットを通して、このメール システムがメールを受け取るネットワークインターフェースアドレス。
この機能はPostfix 2.0以降で使えます。
システムが他のドメインのバックアップMXホストである場合、"外部の" プロキシ/NAT アドレスを指定しなければいけません。そうしないと、 一次MXホストがダウンしているときにメール配送ループが起こります。
例:
proxy_interfaces = 1.2.3.4
proxymap(8) サーバのアクセスが許される 検索テーブル。proxy: で始まらない テーブル参照は無視されます。proxymap(8) テーブル アクセスは読み込み専用です。
この機能はPostfix 2.0以降で使えます。
特定の配送先がPostfix activeキュー を詰まらせているという警告の最小遅延間隔。無効にするには 0 を指定します。
この機能は helpful_warnings パラメータで有効にされます。
この機能はPostfix 2.0以降で使えます。
古い機能: 大きなメーリングリストのメッセージ配送にビジーなメール システムが使う配送リソースのパーセンテージ。
この機能は 古い oqmgr(8) キューマネージャにのみ 存在します。現在のキューマネージャはよりよい方法でこの問題を解決しています。
activeキューのメッセージの最大数。
Postfixキューマネージャがメモリ内に保持する受信者の最大数、 および短期間・メモリ内の "動いていない" 配送先の状態キャッシュサイズの 最大サイズ。
あらゆるメッセージに対するメモリ内受信者の最小値。これは必要な場合は 他のメモリ内受信者制限 (例えば一般的な qmgr_message_recipient_limit や transport ごとの _recipient_limit) よりも優先されます。このパラメータで 許される最小値は 1 です。
QMQP サーバポートへの接続が許されるクライアント。
デフォルトではどのクライアントもこのサービスを使うことが許されません。 これは QMQP サーバはどの配送先へもメールをリレーするためです。
クライアントパターンのリストを指定します。リストパターンにはホスト名や ドメイン名、インターネットアドレス、network/mask パターンを指定します。 mask にはホストアドレスのネットワーク部分のビット数を指定します。 パターンにファイル名を指定すると、ファイル名はその内容で 置き換えられます; パターンが "type:table" と 指定されていると、代わりにテーブル検索が使われます。
パターンは空白またはカンマで区切られます。結果を逆にするには、 ファイル名以外のパターンの前に感嘆符 (!) を付けます。
例:
qmqpd_authorized_clients = !192.168.0.1, 192.168.0.0/24
拒否する応答をクライアントに返す前に QMQP サーバが一時停止する時間。 これは混乱していたり悪意のあるクライアントを遅くすることが目的です。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
ネットワーク越しに情報を送受信する時間の制限。$qmqpd_timeout 秒以上にわたって読み書き操作がないと、QMQP サーバは諦めて接続を切ります。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
Postfixトップレベルキューディレクトリの場所。これは chroot されて 走っているPostfixデーモンプロセスのルートディレクトリです。
Postfixキューファイルに格納される (name=value) 属性の最大数。 この制限は cleanup(8) サーバによって強制されます。
この機能はPostfix 2.0以降で使えます。
メールを受信するのに必要なキューファイルシステムの、バイト単位の 最低空き容量。これは今のところ SMTPサーバがメールを受け付けるかどうかを 決めるのに使われています。
デフォルトでは、空き容量が 1.5*$message_size_limit よりも少ないとPostfix 2.1 SMTPサーバは MAIL FROM コマンドを拒否します。 空き容量制限を大きくするには、少なくとも 1.5*$message_size_limit の queue_minfree の値を指定します。
Postfixバージョン 2.0 以前では、queue_minfree がゼロの場合は空き容量に要求する最低値はありませんでした。
deferredキューがキューマネージャによってスキャンされる時間間隔。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
qmgr(8) サービスの名前。このサービスはPostfixキューを 管理し、配送要求のスケジューリングをおこないます。
この機能はPostfix 2.0以降で使えます。
RBL 応答テンプレートを持つ、オプションの検索テーブル。テーブルは RBL ドメイン名でインデックス化されます。デフォルトでは、Postfixは default_rbl_reply 設定 パラメータで指定されたデフォルトのテンプレートを使います。RBL応答テンプレートの 議論はそこを参照してください。
この機能はPostfix 2.0以降で使えます。
Postfixサブシステムや機能に関する構築方法や設定方法、操作方法が 書かれたPostfix READMEファイルの場所。
受信者確認、ビルトインコンテンツフィルタリング、アドレスマッピングを 有効または無効にします。典型的には、これらは smtpd(8) や qmqpd(8)、pickup(8) デーモンに対して master.cf のコマンドライン引数として指定されます。
以下のオプションをゼロ個以上指定します。オプションは main.cf 設定を 上書きします。これらは smtpd(8) や qmqpd(8)、pickup(8) 自身が実装しているか、cleanup サーバに渡されます。
注意: 「コンテンツフィルタの前の」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以降で使えます。
受信者アドレスでインデックス化された、オプションの 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_maps アドレスマッピングを受けるアドレス。デフォルトでは、 recipient_canonical_maps アドレスマッピングはエンベロープ受信者アドレス、およびヘッダ受信者 アドレスに適用されます。
以下の1つ以上を指定します: envelope_recipient、header_recipient
この機能はPostfix 2.2以降で使えます。
エンベロープおよびヘッダ受信者アドレスに対する、オプションのアドレス マッピング検索テーブル。 テーブルの書式や検索は canonical(5) に 記述されています。
注意: $recipient_canonical_maps は $canonical_maps の前に 処理されます。
例:
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
ユーザ名と拡張アドレス (user+foo) の間の区切り。aliases や canonical、 virtual、relocated、.forward ファイル検索での効果については canonical(5) および local(8)、 relocated(5)、virtual(5) を 参照してください。基本的には、ソフトウェアは user や .forward を試す前に user+foo や .forward+foo を試します。
例:
recipient_delimiter = +
リモートSMTPクライアントの要求が "reject" 制限で拒否された場合の、 数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
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 メッセージ配送 transport を使った、同じ配送先への並列配送数の 最大数。この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
この機能はPostfixバージョン 2.0以降で使えます。
relay メッセージ配送 transport を使った、配送ごとの受信者数の最大値。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
このパラメータの値を1に設定すると、relay_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。
この機能はPostfixバージョン 2.0以降で使えます。
このシステムがメールをリレーしようとする配送先のドメイン (および そのサブドメイン)。サブドメインへのマッチは 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" 検索テーブルはドメインまたは その親ドメインが検索キーとして現れるとマッチします。
クライアントの要求が reject_unauth_destination 受信者制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
$relay_domains にマッチする ドメインの、全ての有効なアドレスを持つオプションの検索テーブル。有効な 受信者リストを持たないドメインのワイルドカードとしては @domain を指定します。 技術的には、$relay_recipient_maps で 挙げられたテーブルはリストとして使われます: Postfixは検索文字列が見つかるか どうかのみを知る必要があるため、検索テーブルからの結果は使いません。
このパラメータが空でなければ、Postfix SMTPサーバは知らないリレー ユーザ宛のメールを拒否します。この機能はデフォルトでは無効になって います。
ADDRESS_CLASS_README ファイルの リレードメイン アドレスクラスも参照してください。
例:
relay_recipient_maps = hash:/etc/postfix/relay_recipients
この機能はPostfix 2.0以降で使えます。
$relay_domains パラメータ値に マッチするドメイン宛の、デフォルトのメール配送transportおよびnext-hop情報。 この情報は transport(5) テーブルで上書き できます。
transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照してください。
ADDRESS_CLASS_README ファイルの リレードメイン アドレスクラスも参照してください。
この機能はPostfix 2.0以降で使えます。
オプションの transport(5) テーブルにエントリが マッチしなかった場合の、非ローカルメールのデフォルトの送り先ホスト。 relayhost が与えられない場合は、 メールは直接配送先に送られます。
イントラネットでは組織のドメイン名を指定します。内部DNSがMX レコードを使っていないのであれば、その代わりにイントラネットの ゲートウェイホスト名を指定してください。
SMTP の場合、ドメイン名、ホスト名、hostname:port、[hostname]:port、 [hostaddress] または [hostaddress]:port を指定してください。 [hostname] の形式はMX検索を無効にします。
UUCP を使って接続しているのであれば、UUCP_README ファイルを参照すると役に立つ情報があります。
例:
relayhost = $mydomain relayhost = [gateway.my.domain] relayhost = uucphost relayhost = [an.ip.add.ress]
もう存在しないユーザやドメインの新しい連絡先の情報を持つ、オプションの 検索テーブル。テーブルの書式や検索は relocated(5) に 記述されています。
この機能を使うのであれば、必要な DBM または DB ファイルを構築するために "postmap /etc/postfix/relocated" を変更後に実行し、変更を反映 させるために "postfix reload" を実行してください。
例:
relocated_maps = dbm:/etc/postfix/relocated relocated_maps = hash:/etc/postfix/relocated
このパラメータが空の場合、リモートクライアントからのメッセージヘッダは 全く書き換えません; そうでない場合、メッセージヘッダを書き換え、 不完全なアドレスに指定されたドメイン名を付け加えます。 local_header_rewrite_clients パラメータはPostfixがローカルとみなすクライアントを制御します。
例:
安全な設定: リモートSMTPクライアントからの不完全なヘッダアドレスに "domain.invalid" を付け加え、これらのアドレスとローカルアドレスを 混同しないようにします。
remote_header_rewrite_domain = domain.invalid
デフォルトで純粋主義な設定: リモートクライアントからのヘッダを一切 書き換えません。
remote_header_rewrite_domain =
メール配送の試行前に local(8) 受信者のホーム ディレクトリが存在しなければならないかどうか。デフォルトではこのテストは 無効になっています。メールサーバにホームディレクトリをインポートしている 環境では便利かもしれません (「推奨しません」)。
受信者アドレスの引用の中を見ることで、正確にではなく安全にアドレスを 解決します。
デフォルトでは、余分な @ や % や ! 演算子が見えたままになるように するため、Postfixアドレスリゾルバは RFC 822 のようにアドレスのローカル部分に引用符を付けません。この振る舞いは安全ですが、 技術的には間違っています。
"resolve_dequoted_address = no" を指定すると、Postfixリゾルバはアドレスのローカル部分にある余分な @ などの 演算子は知らなくなります。これはPostfixがSendmailシステムのバックアップMX サービスを提供する際に user@domain@domain アドレスを使ったあいまいな メールリレー攻撃の機会を開いてしまうことになります。
"@" null ドメインで終わっているアドレスを無効なものとして拒否するのでは なく、ローカルホスト名が指定されているものとして解決します。
この機能はPostfixバージョン 2.1以降でつかえます。 それ以前のバージョンは null ドメインを常にローカルホスト名として 解決します。
Postfix SMTPサーバは "@" null ドメインで終わっているアドレスからの、 またはそのようなアドレス宛のメールや、"@" null ドメインで終わるような 形に書き換えられるアドレスからのメールを拒否するためにこの機能を 使います。
アドレス書き換えサービスの名前。このサービスはアドレスを標準的な形に 書き換え、(配送方法、next-hop ホスト、受信者) の組へと解決します。
この機能はPostfix 2.0以降で使えます。
Postfix設定例ファイルがあるディレクトリ名。
このパラメータは使うべきではありません。
送信者アドレスでインデックス化された、オプションの 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_maps アドレスマッピングを受けるアドレス。デフォルトでは、 sender_canonical_maps アドレスマッピングはエンベロープ送信者アドレスとヘッダ送信者アドレスに 適用されます。
以下の1つ以上を指定します: envelope_sender、header_sender
この機能はPostfix 2.2以降で使えます。
エンベロープおよびヘッダ送信者アドレスに対する、オプションのアドレス マッピング検索テーブル。テーブルの書式や検索は canoni cal(5) に 記述されています。
例: 「送信者」アドレスを "user@ugly.domain" から "user@pretty.domain" に書き換えたいが、受信者アドレス "user@ugly.domain" にはメールを 送れるままにしておきたい場合。
注意: $sender_canonical_maps は $canonical_maps の前に処理 されます。
例:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Postfix sendmail(1) コマンドの場所を指定している Sendmail互換機能。このコマンドはPostfixキューにメールを投函するのに 使われます。
異常に見えるサーバをフォークするまでにPostfix master(8) が 待つ時間。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
set-gid Postfixコマンドおよびグループ書き込み可能なPostfix ディレクトリを所有するグループ。このパラメータ値を変更した場合、 "postfix set-permissions" (Postfix 2.0以前では: "post-install set-permissions") を再び実行する必要があります。
"User unknown" 応答で受信者テーブルの名前を表示します。余分な詳細は トラブルシューティングを容易にしますが、関係ない情報も晒すことに なります。
この機能はPostfix 2.0以降で使えます。
showq(8) サービスの名前。このサービスは メールキュー状態レポートを生成します。
この機能はPostfix 2.0以降で使えます。
SMTP セッションの最初に、常に EHLO を送ります。
"smtp_always_send_ehlo = no" では、Postfixはサーバのグリーティングバナーに "ESMTP" という単語が現れた ときのみ EHLO を送ります (例: 220 spike.porcupine.org ESMTP Postfix)。
IPv4接続の際に SMTPクライアントがバインドする、オプションの数字の ネットワークアドレス。
全ての SMTPクライアントに対しては main.cf ファイルでこれを指定 できますし、もしくは特定のクライアントに対しては master.cf ファイルで 指定できます。例:
/etc/postfix/master.cf: smtp ... smtp -o smtp_bind_address=11.22.33.44
注意1: inet_interfaces が 1つしかIPv4アドレスを指定しておらず、そのアドレスが非ループバック アドレスの場合、そのアドレスは自動的に smtp_bind_address として使われます。これはバーチャルIPホスティングをサポートしていますが、 マルチホームなファイアウォールでは問題になるかもしれません。詳細は inet_interfaces ドキュメントを 参照してください。
注意2: アドレス情報は [] の中に入れることもできますが、 ここではその形式は推奨しません。
IPv6接続の際にSMTPクライアントがバインドする、オプションの数字の ネットワークアドレス。
この機能はPostfixバージョン2.2以降で使えます。
すべてのSMTPクライアントに対しては main.cf ファイルで、特定の クライアントに対しては master.cf ファイルで指定できます。例えば:
/etc/postfix/master.cf: smtp ... smtp -o smtp_bind_address6=1:2:3:4:5:6:7:8
注意1: inet_interfaces が 1つしかIPv6アドレスを指定しておらず、そのアドレスが非ループバック アドレスの場合、そのアドレスは自動的に smtp_bind_address6 として使われます。これはバーチャルIPホスティングをサポートしていますが、 マルチホームなファイアウォールでは問題になるかもしれません。詳細は inet_interfaces ドキュメントを 参照してください。
注意2: アドレス情報は [] の中に入れることもできますが、 ここではその形式は推奨しません。
Postfix SMTPクライアントがログの記録やSASLパスワード検索、TLSポリシーの 決定、TLS証明書の検証に使うサーバ名を、DNS CNAMEレコードが上書きできるように します。デフォルト値 (yes) は後方互換です。"no" を指定すると、DNS CNAME レコードの間違ったホスト名情報に対して、Postfix 2.2の smtp_tls_per_site ホスト名 ベースのポリシーを強化します。
この機能はPostfix 2.2.9以降で使えます。
TCP接続を完了するまでの SMTPクライアントの時間制限、またはゼロ (オペレーティングシステムのビルトイン時間制限を使います)。
期限内に接続できないと、SMTPクライアントはメール交換機リストの次の アドレスを試します。時間制限を無効にするには (すなわちオペレーティング システムによって実装されている時間制限を使うには) 0 を指定します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
指定された配送先に対するSMTP接続キャッシュを恒久的に有効にします。 SMTP接続キャッシュを使うと、メール処理が終わってもすぐには 接続を閉じません。代わりに、最大 $smtp_connection_cache_time_limit 秒の間、接続を開き続けます。これにより他の配送に接続を再利用できるようになり、 メール配送パフォーマンスを向上できます。
配送先または擬似配送先のリストを、カンマまたは空白で区切って 指定します:
この機能はPostfix 2.2以降で使えます。
配送先がactiveキューに 大容量のメールを持つ間だけSMTP接続キャッシュを有効にします。SMTP接続 キャッシュを使うと、メール処理が終わってもすぐには接続を閉じません。 代わりに、最大 $smtp_connection_cache_time_limit 秒の間、接続を開き続けます。これにより他の配送に接続を再利用できるようになり、 メール配送パフォーマンスを向上できます。
この機能はPostfix 2.2以降で使えます。
SMTP接続キャッシュが有効になっている時の、接続を閉じるまでにSMTP セッションが再利用される回数。
この機能はPostfix 2.2以降で使えます。
SMTP接続キャッシュが有効になっている時の、使われていないSMTP クライアントソケットを閉じずに開いたままにする時間。リモートサイトから 許可を得ずに大きな値を指定してはいけません。
この機能はPostfix 2.2以降で使えます。
SMTP "." を送り、サーバの応答を受け取るまでの SMTPクライアントの 時間制限。
期限内に応答を受け取らないと、メールが複数回配送されるかもしれないという 警告がログに記録されます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
SMTP DATA コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
SMTPメッセージコンテンツを送る際のSMTPクライアントの時間制限。 $smtp_data_xfer_timeout 秒以上接続に進展がないと、SMTPクライアントは転送を終了します。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
MX レコードがIPアドレスに解決できない場合、メール配送を遅延します。
デフォルト (no) は配送できないものとしてメールを返します古いバージョンの Postfixでは、デフォルトでは誰かがMXレコードを修正するかメールが 古くなりすぎるまでメールの配送を試行し続けました。
注意: PostfixはローカルMTA自身と同じ、もしくは優先度が低いMX レコードを常に無視します。
この機能はPostfix 2.1以降で使えます。
smtp メッセージ配送 transport を使った同じ配送先への並列配送の最大数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
smtp メッセージ配送 transport を使った、配送ごとの最大の受信者数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
このパラメータの値を1に設定すると、smtp_destination_concurrency_limit の意味がドメインごとの並列度から受信者ごとの並列度に変わります。
SMTPクライアントがリモートSMTPサーバからの応答で無視する、 大文字小文字を区別しない EHLO キーワードのリスト (pipelining, starttls, auth など) を持つ、リモートSMTPサーバアドレスでインデックス化された 検索テーブル。詳細は smtp_discard_ehlo_keywords を参照してください。
SMTPクライアントがリモートSMTPサーバからのEHLO応答で無視する、 大文字小文字を区別しない EHLO キーワードのリスト (pipelining, starttls, auth など)。
注意:
この動作がログに記録されないようにするには、silent-discard 擬似キーワードを指定します。
強制モード: リモートサーバがTLS暗号化を使うことを要求し、メールを平文では 送りません。また、これはリモートSMTPサーバホスト名がリモート サーバ証明書の情報にマッチし、その証明書がPostfix SMTPクライアントが 信頼するCAによって発行されていることも必要とします。証明書が確認 できなかったりホスト名がマッチしなければ、配送は遅延され、メールは キューにとどまります。
サーバホスト名は SubjectAlternativeName で dNSNames として与えられる すべての名前に対してマッチされます。dNSNames が指定されていないと、 CommonName が確認されます。この振る舞いは smtp_tls_enforce_peername オプションで変えられます。
RFC 2487をサポートし、 かつ、有効なサーバ証明書を提供するサーバのみに接続することが確実な場合にのみ、 このオプションは便利です。典型的な用途としては、クライアントが専用の メールハブにすべてのEメールを送るというものです。
通常はインターネット越しのメール送信時にローカルで有効なアドレスを 世界中で有効なアドレスに変換するような、SMTPクライアントで アドレス書き換える、オプションの検索テーブル。これはローカルマシンが インターネットドメイン名を持たず、localdomain.local のような ものを使っている場合に必要です。
テーブルの書式と検索は generic(5) に 記述されています; 例は ADDRESS_REWRITING_README および STANDARD_CONFIGURATION_README ドキュメントに示されています。
この機能はPostfix 2.2以降で使えます。
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以降で使えます。
HELO または EHLO コマンドを送り、最初のサーバの応答を受け取るまでの SMTPクライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
SMTPクライアントがホストのIPアドレスを検索するのに使うメカニズム。 このパラメータはDNS検索が無効になっていると無視されます。
以下のうち一つを指定します:
この機能はPostfix 2.1以降で使えます。
Postfixが SMTP で送るメッセージヘッダおよび本体行の最大長。長い行は "<CR><LF><SPACE>" を挿入することで分割します。これは MIME でフォーマットされたメールへの被害を最小にします。
長い行を持つメールを受け取らないサーバの実装があるため、デフォルトでは 行の長さは 990 文字に制限されます。
MAIL FROM コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
メール交換機検索から得られるMX (メール交換機) IPアドレスの最大数、 またはゼロ (制限なし)。
この機能はPostfix 2.1以降で使えます。
諦めるか fall-back リレーホストに配送するまでの、配送要求ごとの SMTP セッションの最大数、またはゼロ (制限なし)。この制限は SMTP の 最初のハンドシェイクが完了できなかったIPアドレスを無視します。
この機能はPostfix 2.1以降で使えます。
SMTP セッションの最初に EHLO は送りません。smtp_always_send_ehlo パラメータも参照してください。
PIX ファイアウォール"<CR><LF>.<CR><LF>" バグを 回避するために、Postfix SMTPクライアントが ".<CR><LF>" を 送ってから一時停止する時間。
短すぎる時間を選択すると、遅いネットワーク接続で大きなメッセージを 送ったときにこの回避策は効果がなくなります。
PIX ファイアウォール "<CR><LF>.<CR><LF>" バグ回避が有効になるまでに、メッセージがキューに入っていなければ いけない時間。
デフォルトでは、キューに入って500秒以内のメールにはこの回避策を 無効にします。言い換えると、たいていの場合、最初の配送試行ではこの 回避策は無効にされます。
PIX ファイアウォール "<CR><LF>.<CR><LF>" バグ回避を最初の配送試行でも有効にするには 0 を指定します。
QUIT コマンドを送り、サーバの応答を受け取るまでの、SMTPクライアントの 時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
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以降で使えます。
優先度が同じMXホストアドレスの順番をランダムにします。これはPostfix SMTPクライアントのパフォーマンス機能です。
SMTP RCPT TO コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
RSET コマンドを送り、サーバの応答を受け取るまでの、SMTPクライアントの 時間制限。SMTPクライアントは受信者アドレス探査を終わらせるためや、 キャッシュされたセッションがまだ使えるかどうかを確認するために RSET を送ります。
この機能はPostfix 2.1以降で使えます。
Postfix SMTPクライアントの SASL 認証を有効にします。デフォルトでは、 Postfix SMTPクライアントは認証を使いません。
例:
smtp_sasl_auth_enable = yes
空でなければ、リモートSMTPサーバが提供するSASLメカニズムのリストに 対する、Postfix SMTPクライアントフィルタ。クライアントとサーバの実装が 異なれば、サポートするメカニズムのリストも異なるかもしれません。 デフォルトでは、Postfix SMTPクライアントは2つで共通なメカニズムを 使います。smtp_sasl_mechanism_filter はクライアントが利用を考慮するサーバメカニズムをさらに制限します。
メカニズム名、"/file/name" パターン、もしくは "type:table" 検索テーブルを指定します。"type:table" 検索の結果の右側部分は無視されます。
例:
smtp_sasl_mechanism_filter = plain, login smtp_sasl_mechanism_filter = /etc/postfix/smtp_mechs smtp_sasl_mechanism_filter = !gssapi, !login, static:rest
ホストまたはドメインごとに1つの username:password エントリを持つ、 オプションの SMTPクライアント検索テーブル。リモートホストまたは ドメインに username:password エントリがなければ、Postfix SMTP クライアントはリモートホストに対して認証しようとしません。
Postfix SMTPクライアントは chroot 監獄に入る前に検索テーブルを 開くので、パスワードファイルを /etc/postfix に置いたままにすることが できます。
Postfix SMTPクライアントで使うことが許される認証メカニズム。 使用可能な認証メカニズムのリストはシステムに依存します。
以下のゼロ個以上を指定します:
例:
smtp_sasl_security_options = noplaintext
Postfix SMTPクライアントがTLS暗号化SMTPセッションで使う、SASL認証 セキュリティオプション。
Postfix SMTPサーバの EHLO 応答で XFORWARD サポートが通知された場合に、 非標準的な XFORWARD コマンドを送ります。
これにより、コンテンツフィルタにメールを投入するのに使われる "smtp" 配送エージェントが元のメールの名前やアドレス、プロトコル、HELO 名を コンテンツフィルタや下流でキューに入れる SMTPサーバに渡すことが できます。これは localhost[127.0.0.1] 等よりも便利なログを生成する ことができます。
この機能はPostfix 2.1以降で使えます。
グリーティングで 4XX (立ち去って、後で再び試してください) 状態 コードを返す SMTPサーバをスキップします。
デフォルトでは、Postfixは次のメール交換機に移ります。Postfixがすぐに 配送を遅延させるべきであれば、"smtp_skip_4xx_greeting = no" を指定してください。
この機能はPostfixバージョン 2.0 以前で使えます。それ以降のバージョンの Postfixは 4XX 状態コードで挨拶する SMTPサーバを常に飛ばします。
グリーティングで 5XX (立ち去って、二度と試さないでください) 状態 コードを返す SMTPサーバをスキップします。
デフォルトでは、Postfixは次のメール交換機に移ります。Postfixがすぐに 配送をバウンスさせるべきであれば、"smtp_skip_5xx_greeting = no" を 指定してください。デフォルトの設定は間違っていますが、多くの人が こうなると期待しているものです。
SMTP QUIT コマンドへの応答を待ちません。
Postfix SMTPクライアントによる、TLSスタートアップおよびシャットダウン 手順の中での読み書き操作の制限時間。
Postfix SMTPクライアント証明書を発行した認証局 (CA) の証明書を持つ ファイル。これはCA証明書がクライアント証明書ファイルの中に まだ存在しない場合にのみ必要です。
例:
smtp_tls_CAfile = /etc/postfix/CAcert.pem
Postfix SMTPクライアントがリモートSMTPサーバ証明書を確認するのに使う、 PEMフォーマットの認証局証明書を持つディレクトリ。必要な "hash" リンク、 例えば "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs" を作るのを 忘れないでください。
このオプションをchrootモードで使うには、このディレクトリ (もしくは コピー) がchroot監獄の中になければいけません。
例:
smtp_tls_CApath = /etc/postfix/certs
PEMフォーマットの、Postfix SMTPクライアントRSA証明書を持つファイル。 このファイルはクライアントのプライベートキーを含んでいるかもしれず、 またこれらはサーバ証明書およびキーファイルと同じかもしれません。
証明書を確認するには、CA証明書 (証明書チェーンの場合には、すべてのCA 証明書) が使えなければいけません。これらの証明書をサーバ証明書に、 先にサーバ証明書で続いて発行CAというように加えておくべきです。
例: "client.domain" 用の証明書は、自身が "root CA" の証明書を持つ "intermediate CA" によって発行されました。"cat client_cert.pem intermediate_CA.pem root_CA.pem > client.pem". として、client.pem ファイルを作成します。
これらのCA自身によって発行されたリモートSMTPサーバ証明書に アクセスしたいのであれば、smtp_tls_CAfile に CA証明書を加えることもでき、その場合は smtp_tls_cert_file や smtp_tls_dcert_file で 持つ必要はありません。
ここで与えられる証明書は SSL クライアント証明書として使えるもので なければならず、そのために "openssl verify -purpose sslclient ..." テストに通らなければいけません。
例:
smtp_tls_cert_file = /etc/postfix/client.pem
Postfix SMTPクライアントTLS暗号の選択スキームを制御します。 詳細は OpenSSL ドキュメントを参照してください。注意: パラメータ値の 前後に "" 引用符を使わないでください。
PEMフォーマットでの、Postfix SMTPクライアントDSA証明書を持つファイル。 このファイルはサーバプライベートキーも含まれます。
より詳細は smtp_tls_cert_file 以下の議論を参照してください。
例:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
PEMフォーマットでの、Postfix SMTPクライアントDSAプライベートキーを持つ ファイル。プライベートキーは暗号化してはいけません。言い換えると、 鍵はパスワードなしでアクセスできなければいけません。
このファイルは $smtp_tls_cert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。
TLS暗号化が強制されているときに、リモートSMTPサーバホスト名が リモートSMTPサーバ証明書の情報にマッチすることを要求します。 RFC 2487では、MTA クライアントがホスト名をチェックすることは要求していません。
相手の厳密な名前のチェックを無効にするために、このオプションを "no" に 設定することができます。この設定は smtp_tls_per_site テーブルで制御されるセッションには影響しません。
ホスト名検証の無効化は、特別なCAが作られる閉じた環境では意味がある かもしれません。注意せずに使うと、このオプションは "man-in-the-middle (中間者)" 攻撃の危険性を開けてしまいます (この攻撃者の CommonName が ログに記録されます)。
PEMフォーマットでの、Postfix SMTPクライアントRSAプライベートキーを持つ ファイル。このファイルは $smtp_tls_cert_file で指定されるクライアント証明書ファイルと一緒にすることもできます。
プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワード なしでアクセスできなければいけません。
例:
smtp_tls_key_file = $smtp_tls_cert_file
TLS行動に関するPostfix SMTPクライアントのさらなるロギングを有効にします。 それぞれのログレベルは、より低いログレベルで記録される情報も含みます。
問題があったときのみ "smtp_tls_loglevel = 3" を使ってください。ログレベル4は使わないことを強くおすすめします。
TLSがまだ有効になっていなければ、STARTTLSを提供するリモートSMTPサーバの ホスト名をログに記録します。
ログのレコードは次のようなものです:
postfix/smtp[pid]: Host offered STARTTLS: [name.of.host]
next-hop配送先やリモートSMTPサーバホスト名ごとのPostfix SMTP クライアントTLS利用ポリシーを持つ、オプションの検索テーブル。 両方の検索に成功すると、より特定されたサイトごとのポリシー (NONE、 MUST, etc) が特定度の弱いもの (MAY) を上書きし、より安全なサイトごとの ポリシー (MUST, etc) がより安全度の弱いもの (NONE) を上書きします。
next-hop配送先またはサーバホスト名を左側部分に指定します; ワイルドカードは使えません。next-hop配送先は受信者のドメインもしくは transport(5) テーブル、relayhost パラメータ、 relay_transport パラメータで 指定される配送先のいずれかです。 右側部分には以下のキーワードのいずれか1つを指定します:
安全なDNS検索メカニズムが使えない限り、MX応答やCNAME応答でのホスト名が 間違っていると、PostfixがTLSポリシー検索やサーバ証明書の検証で使うホスト名が 変わってしまいます。サーバホスト名とサーバ証明書が完全にマッチしていたと しても、Postfixが正しいサーバに接続されたかどうかは保証できません。 この抜け穴を避けるため、以下のステップに従ってください:
リモートSMTPサーバ証明書の検証の深さ。CAファイルにリストアップされた CAによって直接発行された証明書であれば、検証の深さは1で十分です。 デフォルト値 (5) はより長いチェーンでも十分な値です (ルートCAは実際に 証明書を発行する特別なCAを発行して...)。
オプションのPostfix SMTPクライアントTLSセッションキャッシュを持つ ファイルの名前。btree や sdbm のように、enumerationを サポートしたデータベースの種類を指定します; 並列アクセスを サポートしている必要はありません。ファイルが存在しないと作成されます。
注意: dbm データベースは適しません。TLSセッションオブジェクトは 大きすぎます。
例:
smtp_tls_session_cache_database = btree:/var/postfix/smtp_scache
Postfix SMTPクライアントTLSセッションキャッシュ情報が期限切れとなる 時間。キャッシュの整理は $smtp_tls_session_cache_timeout 秒ごとに定期的に実行されます。
日和見モード: リモートSMTPサーバがSTARTTLSサポートを案内したら TLSを使い、案内がなければ平文でメールを送ります。注意: SMTPサーバには 設定されていなくてもSTARTTLSを提供するものがあります。TLSハンドシェイクに 失敗し、他のサーバが使えないと、配送は遅延されてメールはキューに とどまります。これが懸念されるのであれば、代わりに smtp_tls_per_site 機能を 使ってください。
XFORWARD コマンドを送り、サーバの応答を受け取るまでの SMTP クライアントの時間制限。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
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" パターンと混乱して しまいます。
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" パターンと混乱して しまいます。
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" パターンと混乱して しまいます。
SMTP グリーティングバナーで 220 状態コードの後に続くテキスト。 メールバージョンが宣伝されるのを見るのが好きな人もいます。 デフォルトでは、Postfixはバージョンを示しません。
テキストの最初の $myhostname を 指定しなければ「いけません」。 これは SMTP プロトコルによって要求されています。
例:
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
クライアントがサービスに接続することが許される同時接続数。 デフォルトでは、この制限はデフォルトのプロセス制限値の半分に 設定されます。
この機能を無効にするには、0 という制限を指定します。
警告: この機能の目的は不正使用を制限することです。正当なメール トラフィックを規制するために使ってはいけません。
この機能はPostfix 2.2以降で使えます。
時間単位ごとにクライアントがこのサービスに接続を試行することが許される 最大の接続試行数。時間単位は anvil_rate_time_unit 設定パラメータで指定され、デフォルトは1分です。
デフォルトでは、クライアントは単位時間にPostfixが受けることが できる限りの数の接続を張ることができます。
この機能を無効にするには、0 という制限を指定します。
警告: この機能の目的は不正使用を制限することです。正当なメール トラフィックを規制するために使ってはいけません。
この機能は安定版Postfix 2.1 には含まれません。
例:
smtpd_client_connection_rate_limit = 1000
接続カウントや接続速度、SMTP要求速度の制限から除外されるクライアント。
デフォルトでは、信頼されたネットワークのクライアントが除外されます。 ネットワークブロックやホスト名、.domain 名 (最初のドットは domain 以下のあらゆる名前にマッチさせます) のリストを指定します。
注意: IPバージョン6アドレス情報は smtpd_client_event_limit_exceptions 値や "/file/name" で指定されるファイル内で [] の中に指定しなければ いけません。IPバージョン6アドレスは ":" 文字を含んでいるため、そうしないと "type:table" パターンと混乱して しまいます。
この機能はPostfix 2.2以降で使えます。
単位時間にこのサービスに対して許される、クライアントのメッセージ配送 要求の最大数で、Postfixが実際にメッセージを受け入れるかどうかは 関係ありません。単位時間は anvil_rate_time_unit 設定パラメータで指定されます。
デフォルトでは、1つのクライアントは単位時間にPostfixが受け付けられるだけの メッセージ配送要求を送ることができます。
この機能を無効にするには、0 という制限を指定します。
警告: この機能は不正利用を制限するのが目的です。正当なメールの流量を 制限するのに使ってはいけません。
この機能はPostfix 2.2以降で使えます。
例:
smtpd_client_message_rate_limit = 1000
単位時間にこのサービスに対してクライアントが許される、受信者アドレスの 最大数で、Postfixが実際にメッセージを受け入れるかどうかは 関係ありません。単位時間は anvil_rate_time_unit 設定パラメータで指定されます。
デフォルトでは、1つのクライアントは単位時間にPostfixが受け付けられる だけの受信者アドレス数を書くことができます。
この機能を無効にするには、0 という制限を指定します。
警告: この機能は不正利用を制限するのが目的です。正当なメールの流量を 制限するのに使ってはいけません。
この機能はPostfix 2.2以降で使えます。
例:
smtpd_client_recipient_rate_limit = 1000
SMTPサーバがクライアントからSMTP接続の要求を受けた際に適用する、オプションのアクセス制限。
デフォルトでは全ての接続要求を許可します。
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限はクライアントホスト名またはクライアントネットワークアドレス 情報に特有のものです。
これに加えて、以下の 一般的な制限 を使えます。 これらの制限は SMTP コマンドのどの場面にも適用できます。
/etc/postfix/main.cf: smtpd_client_restrictions = sleep 1, reject_unauth_pipelining smtpd_delay_reject = noこの機能はPostfix 2.3以降で使えます。
この場面で有効な他の制限:
例:
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client
Postfix SMTPサーバが SMTP DATA コマンドの場面で適用する、オプションの アクセス制限。
この機能はPostfix 2.0以降で使えます。
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限がこの場面で有効です:
例:
smtpd_data_restrictions = reject_unauth_pipelining smtpd_data_restrictions = reject_multi_recipient_bounce
$smtpd_client_restrictions および $smtpd_helo_restrictions、 $smtpd_sender_restrictions の評価を RCPT TO コマンドまで待ちます。 または、$smtpd_client_restrictions および $smtpd_helo_restrictions の 評価を ETRN コマンドまで待ちます。
Postfix SMTPサーバが RCPT TO の前にコマンドを拒否すると間違った 動作をしてしまうクライアントがあるようなので、この機能はデフォルトで 有効になっています。
デフォルトの設定には一つ大きな利点があります: Postfixが クライアント名/アドレスや送信者アドレスを拒否する際に受信者情報を ログに記録できるようになり、誰のメールが拒否されたかがわかるように なります。
SMTPサーバがリモートSMTPクライアントへのEHLO応答で送らない、大文字・ 小文字を区別しないEHLOキーワード (pipelining, starttls, auth など) の リストを持つ、リモートSMTPクライアントアドレスでインデックス化された 検索テーブル。詳細は smtpd_discard_ehlo_keywords を参照してください。
SMTPサーバがリモートSMTPクライアントへのEHLO応答で送らない、大文字・ 小文字を区別しないEHLOキーワード (pipelining, starttls, auth など) の リスト。
注意:
この動作がログに記録されないようにするには、silent-discard 擬似キーワードを指定します。
EHLOキーワードを選択的に破棄するには、smtpd_discard_ehlo_keyword_address_maps 機能を使います。
Postfix SMTPサーバがSMTP END-OF-DATAコマンドの場面で適用する、 オプションのアクセス制限。
この機能はPostfix 2.2以降で使えます。
文法の詳細は smtpd_data_restrictions を参照してください。
強制モード: SMTPクライアントにSTARTTLSサポートを通知し、クライアントが TLS暗号化を使うことを要求します。RFC 2487 により、これは公に参照されるSMTPサーバの場合には適用してはいけません。 このオプションはデフォルトで無効になっており、専用サーバでのみ使うべきです。
注意1: このモードを指定すると "smtpd_tls_auth_only = yes" という指定もなされます。
注意2: "sendmail -bs" から呼び出されると、Postfixはサーバの プライベートキーにアクセスする権限がないため、STARTTLSを提供しません。 これは意図された振る舞いです。
Postfix 2.1以降: メールの配送なしで クライアントが $smtpd_soft_error_limit 以上 $smtpd_hard_error_limit 以下のエラーを出した後に入れる、SMTPサーバ応答の遅延。
Postfix 2.0 以前: メールの配送なしで クライアントが $smtpd_soft_error_limit 以下の エラーを出した際に拒否 (4xx または 5xx) 応答を送る前に入れる、SMTPサーバの 遅延。
Postfix SMTPサーバがクライアントの ETRN 要求の場面で適用する、 オプションの制限。
PostfixのETRN実装はPostfix "高速 flush" サービスに適格な配送先のみを 受け入れます。詳細は ETRN_README を参照して ください。
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限は ETRN コマンドで受け取るドメイン名情報に特有です。
この場面で有効な他の制限:
例:
smtpd_etrn_restrictions = permit_mynetworks, reject
RBL 応答テンプレートの $name 展開で許される文字。許可されたセットにない 文字は "_" で置き換えられます。空白のような特別な文字を指定するには、 C 形式のエスケープを使います。
このパラメータは $parameter 展開を受けません。
この機能はPostfix 2.0以降で使えます。
Postfix SMTPサーバに 221 コードで即座にセッションを終了させるコマンドの リスト。これはシステムに対して明らかに不正をはたらこうとしている クライアントを切断するのに使えます。このパラメータにリストアップされている コマンドに加え、メッセージヘッダの "Label:" フォーマットに続くコマンドでも 切断します。
この機能はPostfix 2.2以降で使えます。
リモートSMTPクライアントがメールの配送なしに発生させることが 許されるエラーの数。制限を超えるとPostfix SMTPサーバは接続を切ります。
リモートSMTPクライアントが SMTP セッションの最初で HELO または EHLO コマンドで自己紹介することを要求します。
例:
smtpd_helo_required = yes
Postfix SMTPサーバが SMTP HELO コマンドの場面で適用する、オプションの 制限。
デフォルトでは全てを許可します。
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限は HELO または EHLO コマンドで受け取るホスト名情報に特有です。
この場面で有効な他の制限:
例:
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname
EHLO や RSET、DATA の終わりの受信時に消し去られるまでの、 Postfix SMTPサーバコマンドラインヒストリの最大行数。
Postfix SMTPサーバがジャンクコマンド (NOOP や VRFY、ETRN、RSET) で エラーカウンタを増加させる前に、リモートの SMTPクライアントが送る ことができるジャンクコマンドの数。ジャンクコマンド数はメールが配送 されるとリセットされます。smtpd_error_sleep_time および smtpd_soft_error_limit 設定パラメータも参照してください。
文法チェックや状態の変更を行わずに、Postfixサーバが "250 OK" と 応答するコマンドのリスト。このリストはPostfix SMTPサーバに組み込まれた いずれのコマンドも上書きします。
null 送信者アドレスの代わりに SMTP access(5) テーブルで使われる検索キー。
アイドル状態の SMTPD ポリシーサービス接続が閉じられるまでの時間。
この機能はPostfix 2.1以降で使えます。
アクティブな SMTPD ポリシーサービス接続が閉じられるまでの時間。
この機能はPostfix 2.1以降で使えます。
委譲された SMTPD ポリシーサーバに接続し、書き込み、受信するまでの 時間制限。
この機能はPostfix 2.1以降で使えます。
Postfix SMTPサーバがプロキシフィルタに対して自分を通知する方法。 デフォルトでは、Postfixホスト名が使われます。
この機能はPostfix 2.1以降で使えます。
メールフィルタリングプロキシサーバのホスト名とTCPポート。 プロキシはPostfix SMTPサーバからの全てのメールを受け取り、他の Postfix SMTPサーバプロセスに結果を渡すと想定されています。
host:port を指定してください。host はIPアドレスやシンボル名として 指定することができます; MX検索はおこなわれません。host や host: が 指定されないと、ローカルマシンであると想定されます。
この機能はPostfix 2.1以降で使えます。
プロキシフィルタに接続し、情報を送受信する時間制限。接続に失敗すると、 クライアントは一般的なエラーメッセージを受け取り、より詳細情報が maillog ファイルにログとして記録されます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
この機能はPostfix 2.1以降で使えます。
Postfix SMTPサーバがメッセージ配送要求ごとに受け付ける、最大の 受信者数。
Postfix SMTPサーバが超過したそれぞれの受信者に対してセッションごとの エラーカウンタを増加させる前に、リモートの SMTPクライアントが $smtpd_recipient_limit で 指定された制限を超えて送ることができる受信者の数。
Postfix SMTPサーバが RCPT TO コマンドの場面で適用するアクセス制限。
デフォルトでは、Postfix SMTPサーバは以下のものを受け取ります:
重要: このパラメータの設定を変更したら、少なくとも以下のどれか 一つの制限を指定しなければいけません。そうしないと、Postfixは メールの受信を拒否してしまいます:
reject, defer, defer_if_permit, reject_unauth_destination
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限は RCPT TO コマンドで受け取る受信者アドレスに特有です。
この場面で有効な他の制限:
例:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
明示的に reject_unlisted_recipient アクセス制限が指定されていなくても、Postfix SMTPサーバが知らない受信者 アドレス宛のメールを拒否するように要求します。これはPostfixキューが 配送できない MAILER-DAEMON メッセージで埋め尽くされることを防ぎます。
この機能はPostfix 2.1以降で使えます。
明示的に reject_unlisted_sender アクセス制限が指定されていなくても、Postfix SMTPサーバが知らない送信者 アドレスからのメールを拒否するように要求します。これは急激に増加したワームや ウィルスからの騙られたメールを遅くすることができます。
この機能はPostfix 2.1以降で使えます。
ユーザが定義した、アクセス制限のまとまりの別名。この別名は smtpd_recipient_restrictions などや Postfix access(5) テーブルの右側部分で 指定することができます。
主な応用方法の一つに、受信者ごとの UCE 制御の実装があります。他の例は RESTRICTION_CLASS_README ドキュメントを参照してください。
SASL サーバの初期化に使われるアプリケーション名。これは SASL 設定 ファイルの名前を制御します。デフォルト値は smtpd であり、 smtpd.conf という名前の SASL 設定ファイルに対応します。
この機能はPostfix 2.1以降で使えます。
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 ファイルを 参照してください。
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以降で使えます。
SASL 認証 realm の名前。
デフォルトでは、ローカル認証 realm 名は null 文字列です。
例:
smtpd_sasl_local_domain = $mydomain smtpd_sasl_local_domain = $myhostname
Postfix SMTPサーバがクライアントに提供する認証メカニズムを 制限します。使用できる認証メカニズムのリストはシステムに依存します。
以下のゼロ個以上を指定します:
デフォルトでは、Postfix SMTPサーバは平文パスワードを受け付けますが、 匿名ログインは受け付けません。
警告: クライアントはサーバが案内した順番 (例えば PLAIN ANONYMOUS CRAM-MD5) で認証方法を試すようであり、平文パスワードを無効にすると、 これはクライアントが CRAM-MD5 を使えたとしても匿名でログインしようと してしまうことを意味します。そのため、平文ログインを無効にする場合、 匿名ログインも無効にしてください。Postfixは匿名ログインを認証とは 扱いません。
例:
smtpd_sasl_security_options = noanonymous, noplaintext
Postfix SMTPサーバがTLS暗号化されたSMTPセッションに使う、SASL認証 セキュリティオプション。
送信者 (MAIL FROM) アドレスを持つ SASL ログイン名の、オプションの 検索テーブル。
ゼロ個以上の "type:table" 検索テーブルを 指定します。DBやDBMのようなインデックス化されたファイルからの検索や、NISや LDAP、SQLのようなネットワーク上のテーブルからの検索では、\fIuser@domain という 送信者アドレスで次のように検索操作がおこなわれます:
どの場合でも、テーブル検索の結果は "見つからない" か、カンマや空白で 区切られた SASL ログイン名のリストのどちらかでなければいけません。
Postfix SMTPサーバが MAIL FROM コマンドの場面で適用する、オプションの 制限。
デフォルトでは全てを許可します。
制限のリストをカンマまたは空白で区切って指定します。次の行を空白で 始めることで長い行を継続します。制限は指定された順に適用されます; 最初にマッチした制限が勝ちます。
以下の制限は MAIL FROM コマンドで受け取る送信者アドレスに特有です。
この場面で有効な他の制限:
例:
smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_sender_restrictions = reject_unknown_sender_domain, check_sender_access hash:/etc/postfix/access
Postfix SMTPサーバが全ての応答を遅くする前に、リモートSMTP クライアントがメールの配送なしに発生させることが許されるエラーの数。
Postfixバージョン2.1以降では、Postfix SMTPサーバは全ての応答を $smtpd_error_sleep_time 秒 だけ遅延します。
Postfixバージョン2.0以前では、Postfix SMTPサーバは全ての応答を (エラー数) 秒だけ遅延します。
Postfix SMTPサーバがTLSハンドシェイクの開始からシャットダウン手順の 間に読み書きする操作の時間制限。
Postfix SMTPサーバが応答を送って、リモートSMTPクライアントの要求を 受け取るまでの時間制限。
注意: SMTP時間制限を非常に大きな値にする場合、一般的な ipc_timeout パラメータも更新する必要があるかもしれません。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
Postfix SMTPサーバ証明書を発行した認証局 (CA) の証明書を持つファイル。 これはCA証明書がサーバ証明書ファイルの中にまだ存在しない場合にのみ必要です。 このファイルには信頼した他のCAの証明書を含むこともできます。chrootモードで 使いたければ、信頼したCAのリストに対してこのファイルを使わなければ いけません。
例:
smtpd_tls_CAfile = /etc/postfix/CAcert.pem
Postfix SMTPサーバがリモートのSMTPクライアントに、クライアント証明書を 検証する目的で提供する、PEMフォーマットの認証局証明書を持つディレクトリ。 必要な "hash" リンク、例えば "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs" を作るのを忘れないでください。
このオプションをchrootモードで使うには、このディレクトリ (もしくは コピー) がchroot監獄の中になければいけません。この場合、CA証明書は クライアントには提供されず、その結果、例えばNetscapeクライアントは それらのCAによって発行された証明書を出さないかもしれません。 そのためこの機能の利用はお勧めできません。
例:
smtpd_tls_CApath = /etc/postfix/certs
リモートSMTPクライアントにクライアント証明書を依頼します。この情報は 例えば permit_tls_clientcerts 機能を使っての、証明書ベースのメールリレーに必要です。
Netscapeのようなクライアントには、(/etc/postfix/certs のCAのリストの) 証明書が使えないと文句を言うか、複数のクライアント証明書を提供して そこから選べるようにするものもあります。これは面倒なので、デフォルトでは このオプションは "off" になっています。
Postfix SMTPサーバでTLS暗号化がオプションになっていると、暗号化されていない 接続ではSASL認証を通知したり受け付けたりしません。
リモートSMTPクライアント証明書の検証の深さ。ローカルのCAファイルに リストアップされたCAによって直接発行された証明書であれば、検証の深さは 1で十分です。デフォルト値はより長いチェーンでも十分な値です (ルートCAは 実際に証明書を発行する特別なCAを発行して...)。
PEMフォーマットの、Postfix SMTPサーバRSA証明書を持つファイル。 このファイルはサーバのプライベートキーも含んでいるかもしれません。
RSAおよびDSA証明書の両方がサポートされています。両方のタイプが存在すると、 使われる暗号はクライアントに存在する証明書がどちらかで決まります。 特に暗号を選択していないNetscapeおよびOpenSSLクライアントは、RSA証明書が 好みです。
証明書を検証するには、CA証明書 (証明書チェーンの場合はすべてのCA証明書) が 使えなければいけません。これらの証明書をサーバ証明書に、先にサーバ証明書で 続いて発行CAというように加えておくべきです。
例: "server.dom.ain" の証明書は、自身が "root CA" の証明書を持つ "intermediate CA" によって発行されました。"cat server_cert.pem intermediate_CA.pem root_CA.pem > server.pem" として、server.pem ファイルを作成します。
これらのCA自身によって発行されたS証明書を受け入れたければ、CA証明書も smtpd_tls_CAfile に加えます。 その場合には smtpd_tls_dcert_file や smtpd_tls_cert_file の中にそれらを持つ必要はありません。
ここで与えられた証明書はSSLサーバ証明書として使えるものでなければならず、 そのために "openssl verify -purpose sslserver \&..." テストに通らなければ いけません。
例:
smtpd_tls_cert_file = /etc/postfix/server.pem
Postfix SMTPサーバTLS暗号の選択スキームを制御します。詳細は OpenSSL ドキュメントを参照してください。注意: パラメータ値の前後に "" 引用符を 使わないでください。
PEMフォーマットでの、Postfix SMTPサーバ証明書を持つファイル。 サーバのプライベートキーも含むかもしれません。
より詳細は smtpd_tls_cert_file 以下の議論を参照してください。
例:
smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
Postfix SMTPサーバがEDH暗号で使うDHパラメータを持つファイル。
他のTLSパッケージで配布されたパラメータセットと厳密に同じものを 使うのではなく、次のようなコマンドで自分自身のパラメータセットを 生成する方がより安全です:
openssl gendh -out /etc/postfix/dh_1024.pem -2 -rand /var/run/egd-pool 1024
実際のエントロピーソースは異なるかもしれません。/dev/random を持っている システムもあります; それがないシステムでは http://www.lothar.com/tech/crypto/ で得られる "Entropy Gathering Daemon EGD" の利用を検討してもよいでしょう。
例:
smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
Postfix SMTPサーバがEDH暗号で使うDHパラメータを持つファイル。
smtpd_tls_dh1024_param_file 設定パラメータの議論も参照してください。
例:
smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
PEMフォーマットでの、Postfix SMTPサーバDSAプライベートキーを持つファイル。 このファイルは $smtpd_tls_dcert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。
プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワードなしで アクセスできなければいけません。
PEMフォーマットでの、Postfix SMTPサーバRSAプライベートキーを持つファイル。 このファイルは $smtpd_tls_cert_file で指定されるサーバ証明書ファイルと一緒にすることもできます。
プライベートキーは暗号化してはいけません。言い換えると、鍵はパスワード なしでアクセスできなければいけません。
TLS行動に関するPostfix SMTPサーバのさらなるロギングを有効にします。 それぞれのログレベルは、より低いログレベルで記録される情報も含みます。
問題があったときのみ "smtpd_tls_loglevel = 3" を使ってください。ログレベル4は使わないことを強くおすすめします。
Postfix SMTPサーバがプロトコルや使われた暗号、クライアントCommonNameや クライアント証明書を発行したCommonNameといった情報を含む Received: メッセージヘッダを生成するように要求します。これは他のメールサーバを 通っていく間に情報が書き換えられるかもしれないため、デフォルトでは 無効になっています。最終配送先によって記録された情報のみが信頼できます。
TLS暗号化が強制された場合に、TLS接続の続行を許可するためにリモートSMTP クライアント証明書を要求します。このオプションは "smtpd_tls_ask_ccert = yes" という指定もなされます。
TLS暗号化がオプションの場合、リモートSMTPクライアントは単にSTARTTLSを 全く使わないことによって制限をバイパスすることができます。そのため、 TLS接続は "smtpd_tls_ask_ccert = yes" だけが指定されているように扱われます。
オプションのPostfix SMTPサーバTLSセッションキャッシュを含むファイルの 名前。btree や sdbm のように、enumerationをサポートした データベースの種類を指定します; 並列アクセスをサポートしている必要は ありません。ファイルが存在しないと作成されます。
注意: dbm データベースは適しません。TLSセッションオブジェクトは 大きすぎます。
例:
smtpd_tls_session_cache_database = btree:/var/postfix/smtpd_scache
Postfix SMTPサーバTLSセッションキャッシュ情報が期限切れとなる 時間。キャッシュの整理は $smtpd_tls_session_cache_timeout 秒ごとに定期的に実行されます。
Postfix SMTPサーバをSTARTTLSコマンドを使うのではなく、非標準の "ラッパー" モードで走らせます。
このサービスをサポートしたければ、master.cf で特別なポートを有効にし、 SMTサーバのコマンドラインで "-o smtpd_tls_wrappermode=yes" を指定してください。以前はこの目的のためにポート465 (smtps) が選ばれて いました。
日和見モード: STARTTLSサポートをクライアントに通知はしますが、 クライアントがTLS暗号化を使うことは要求しません。
注意: "sendmail -bs" から呼び出されると、Postfixはサーバの プライベートキーにアクセスする権限がないため、STARTTLSを提供しません。 これは意図された振る舞いです。
送信者に返されてしまうメールをキューにとどめておくための安全ネット。 このパラメータはローカルで生成されるバウンスを無効にし、5xx 応答コードを 4xx に変えることでPostfix SMTPサーバがメールを恒久的に拒否して しまわないようにします。しかし、soft_bounce では アドレス書き換えの間違いやメールルーティングの間違いを直すことはできません。
例:
soft_bounce = yes
古いメールボックスの排他的ロックファイルが取り除かれるまでの時間。 これはファイルまたはメールボックスへの配送に使われます。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
メッセージヘッダに8ビットテキストを持つメールを拒否します。これは 不完全に書かれたアプリケーションからのメールをブロックします。
正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。
この機能はPostfix 2.0以降で使えます。
strict_7bit_headers と strict_8bitmime_body の 両者を有効にします。
正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。
この機能はPostfix 2.0以降で使えます。
8 ビット MIME コンテンツエンコード情報のない 8 ビットメッセージ 本体テキストを拒否します。これは不完全に書かれたアプリケーションからの メールをブロックします。
残念ながら、これは要求に有効な 8 ビット MIME メールを含んだ majordomo 承認要求も拒否してしまいます。また、(例えば qmail や古いバージョンの Postfixからのバウンスのように) 8 ビットコンテンツを MIME カプセル化 しないメーラからのバウンスを拒否します。
正当なEメールを拒否する可能性があるため、この機能を一般的な目的の メールサーバで有効にすべきではありません。
この機能はPostfix 2.0以降で使えます。
message/* または multipart/* MIME コンテンツタイプに対して 無効な Content-Transfer-Encoding: 情報を持つメールを拒否します。 これは不完全に書かれたアプリケーションからのメールをブロックします。
一回違反した後のメールを拒否してしまうため、この機能を一般的な目的の メールサーバで有効にすべきではありません。
この機能はPostfix 2.0以降で使えます。
SMTP MAIL FROM および RCPT TO コマンドで受け取るアドレスが <> で 括られていて、そのアドレスが RFC 822 形式のコメントやフレーズが含まれていないことを要求します。これは不完全に 書かれたアプリケーションからのメールをブロックします。
デフォルトでは、Postfix SMTPサーバは MAIL FROM および RCPT TO アドレスの RFC 822 文法を 受け入れます。
古い SUN mailtool 互換機能。代わりに "mailbox_delivery_lock = dotlock" を 使ってください。
"site!user" から "user@site" への書き換えを有効にします。これは マシンが UUCP ネットワークに接続されている場合に必要です。これは デフォルトで有効になっています。
注意: Postfixバージョン2.2では、メッセージヘッダアドレスの 以下のいずれかに当てはまる場合にのみなされます:
Postfix 2.2以前の振る舞いにしたければ、"local_header_rewrite_clients = static:all" を指定してください。
例:
swap_bangpath = no
Postfixロギングの syslog facility 名。syslog.conf(5) で定義された facility を指定します。デフォルト facility は "mail" です。
警告: デフォルトではない syslog_facility 設定はPostfixプロセスの初期化が終わった後で有効になります。初期化している間の エラーはデフォルトの facility でログに記録されます。コマンドライン引数を パースしている際のエラーやPostfix main.cf 設定ファイルにアクセス している間のエラーがその例です。
例えば "smtpd" が "postfix/smtpd" となるようにするために syslog レコードのプロセス名の前に付けられるメールシステムの名前。
警告: デフォルトではない syslog_name 設定は Postfixプロセスの初期化が終わった後で有効になります。初期化している間の エラーはデフォルトの facility でログに記録されます。コマンドライン引数を パースしている際のエラーやPostfix main.cf 設定ファイルにアクセス している間のエラーがその例です。
smtp(8) または smtpd(8) プロセスが内部擬似乱数生成器 (PRNG) に種を与えるために tlsmgr(8) サーバから要求する擬似乱数のバイト数。デフォルトの32バイト (256ビットと等価) は 128ビット (または168ビット) のセッションキーを生成するのに十分です。
メモリ内乱数生成器 (PRNG) プールに種を(再び)与える際に、 tlsmgr(8) が $tls_random_source から読み込むバイト数。デフォルトの32バイト (256ビット) は128ビットの 対称キーには十分によい値です。EGDもしくはデバイスファイルを使う場合、 最大の255バイトが読み込まれます。
tlsmgr(8) が管理する擬似乱数生成器 (PRNG) 状態ファイルの名前。ファイルが存在しなければ作成され、その長さは1024バイトに 固定されます。
このファイルはPostfixによって改変されるため、$config_directory 以下ではなく、おそらく /var ファイルシステムに保存するべきです。chroot監獄の 中に置くべきではありません。
$tls_random_exchange_name で指定されたファイルに擬似乱数生成器 (PRNG) の状態を tlsmgr(8) が保存しようとする時間間隔。
tlsmgr(8) が外部ソースからメモリ内擬似乱数 生成器 (PRNG) プールに再び種を与えるまでの最大時間間隔。実際に再び種を 与えようとする時間間隔は0から指定された時間の間で、PRNGを使って計算 されます。
メモリ内 tlsmgr(8) 擬似乱数生成器 (PRNG) プールへの外部エントロピーソース。確実にnon-blockingソースを指定して ください。このソースが通常のファイルではない場合、エントロピーソース 形式を前に付けなければいけません: EGD互換ソケットインターフェースには egd:/path/to/egd_socket を、デバイスファイルには dev:/path/to/device のようにします。
注意: OpenBSDシステムでは、/dev/urandom がタイムアウトエラーを出す場合、 /dev/arandom を指定してください。
trace(8) サービスの名前。このサービスはメール 配送の記録を管理し、"sendmail -v" で冗長な配送が要求された際に メール配送レポートを生成します。
この機能はPostfix 2.1以降で使えます。
受信者アドレスから (メッセージ配送 transport、next-hop 配送先) への マッピングを持つ、オプションの検索テーブル。詳細は transport(5) を 参照してください。
ゼロ個以上の "type:table" 検索テーブルを指定してください。この機能を ローカルファイルで使うのであれば、変更後に "postmap /etc/postfix/transport" を実行してください。
例:
transport_maps = dbm:/etc/postfix/transport transport_maps = hash:/etc/postfix/transport
Postfixキューマネージャが異常なメッセージ配送 transport に接触 しようとする時間間隔。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
(例えば pickup(8) や qmgr(8) デーモンのような) Postfixデーモンにトリガーを送る制限時間。この時間制限は メールシステムの負荷が大きい場合にプログラムが動かなくならないようにします。
時間単位: s (秒)、m (分)、h (時)、d (日)、w (週)。 デフォルトの時間単位は s (秒) です。
メッセージに To: または Cc: メッセージヘッダがない場合にPostfix cleanup(8) サーバが挿入するメッセージヘッダ。
送信者または受信者アドレスが reject_unknown_sender_domain または reject_unknown_recipient_domain 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
有効なアドレス <=> 名前のマッピングのないクライアントが reject_unknown_client 制限で 拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
HELO または EHLO コマンドで指定されたホスト名が reject_unknown_hostname 制限で拒否された場合の、数字のPostfix SMTPサーバ応答コード。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
受信者アドレスがローカルで、$local_recipient_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合に、Postfix SMTP サーバが応答する数字のコード。ドメインが $mydestination や $proxy_interfaces、$inet_interfaces に マッチする場合に、受信者アドレスをローカルと見なします。
デフォルトの設定は 550 (メールを拒否します) ですが、最初は 450 を使って local_recipient_maps 設定が 問題ないかどうか確認する時間を取ると、より安全です。
例:
unknown_local_recipient_reject_code = 450
この機能はPostfix 2.0以降で使えます。
受信者アドレスが $relay_domains に マッチするが、relay_recipient_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合に、 Postfix SMTPサーバが応答する数字のコード。
この機能はPostfix 2.0以降で使えます。
受信者アドレスが $virtual_alias_domains にマッチするが、 $virtual_alias_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合のSMTP サーバの応答コード。
この機能はPostfix 2.0以降で使えます。
受信者アドレスが $virtual_mailbox_domains に マッチするが、$virtual_mailbox_maps が その受信者にマッチしない検索テーブルのリストを指定していた場合のSMTP サーバの応答コード。
この機能はPostfix 2.0以降で使えます。
受信者アドレスが reject_unverified_recipient 制限によって拒否された場合の、数字のPostfix SMTPサーバ応答コード。
Postfixの他の場所と異なり、それでもアドレスを受け付けるために250を指定する ことができます。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
この機能はPostfix 2.1以降で使えます。
送信者アドレスが reject_unverified_sender 制限によって拒否された場合の、数字のPostfix SMTPサーバ応答コード。
Postfixの他の場所と異なり、それでもアドレスを受け付けるために250を指定する ことができます。
RFC 821 を完全に理解して いないのであれば、これを変更しないでください。
この機能はPostfix 2.1以降で使えます。
PostfixがPostfix sendmail(1) コマンドラインや SMTPコマンドで VERP 区切り文字として受け付ける文字。
この機能はPostfix 1.1 以降で使えます。
指定されたバーチャルエイリアスドメイン、つまり全てのアドレスが他の ローカルまたはリモートドメインのアドレスにエイリアスされるドメインの リストに対して、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_README や ADDRESS_CLASS_README ドキュメントも 参照してください。
例:
virtual_alias_domains = virtual1.tld virtual2.tld
それぞれの元の受信者から virtual エイリアス展開で生成されるアドレスの 最大数。
この機能はPostfix 2.1以降で使えます。
特定のメールアドレスやドメインを他のローカルまたはリモートアドレスに エイリアスする、オプションの検索テーブル。テーブルの書式や検索は 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 エイリアス展開の最大のネストの深さ。現在は再帰制限は展開 グラフの左側の分岐のみに適用されるため、最悪の場合ツリーの深さは 展開および再帰制限の合計に達します。これは将来変更される予定です。
この機能はPostfix 2.1以降で使えます。
virtual メッセージ配送 transport を使った同じ配送先への、最大の 並列配送数。この制限はキューマネージャによって強制されます。メッセージ 配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
virtual メッセージ配送 transport を使った配送ごとの、最大の受信者数。 この制限はキューマネージャによって強制されます。メッセージ配送 transport 名は master.cf ファイルのエントリの最初のフィールドです。
このパラメータの値を1に設定すると、対応する配送先ごとの並列制限は ドメインごとの並列度から受信者ごとの並列度へと virtual_destinat ion_concurrency_limit の 意味を変えます。
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(8) 配送エージェントが $virtual_mailbox_maps テーブル検索からの結果の全てのパス名前に付けるプレフィックス。これは制御不能な マップがファイルシステムをメールボックスで散らかさないように するための安全策です。virtual_mailbox_base を "/" にすることもできますが、この設定は推奨しません。
例:
virtual_mailbox_base = /var/mail
Postfixは指定されたドメインのリストの最終配送先になります; メールは $virtual_transport メール配送transportで配送されます。 デフォルトでは、これはPostfix virtual(8) 配送エージェントです。SMTPサーバは $virtual_mailbox_maps で 受信者アドレスを確認し、存在しない受信者宛のメールを拒否します。 ADDRESS_CLASS_README ファイルの バーチャルメールボックスドメインクラスも参照してください。
このパラメータは mydestination 設定パラメータと同じ文法を期待します。
この機能はPostfix 2.0以降で使えます。デフォルト値はPostfix 1.1 と 後方互換です。
個々のメールボックスまたは maildir ファイルの、バイト単位の最大 サイズ、またはゼロ (制限なし)。
配送を試行する前に UNIX 形式の virtual(8) メールボックスをロックする方法。使用可能なファイルロック方法のリストを見るには、 "postconf -l" コマンドを使ってください。
アプリケーションレベルでのロックがなくても安全であるため、maildir 形式の配送ではこの設定は無視されます。
注意 1: dotlock 方式では、受信者メールボックスファイルの 親ディレクトリに受信者の UID または GID の書き込みアクセス権が必要です。
注意 2: このパラメータのデフォルトの設定はシステムに依存します。
$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) 配送 エージェントは致命的エラーで終了します。
a) 全てのアドレスが他のローカルもしくはリモートドメインのアドレスに エイリアスされるドメイン名と、b) 他のローカルもしくはリモートドメインの アドレスにエイリアスされるアドレスを持つ、オプションの検索テーブル。 Postfixバージョン2.0より前で使えます。Postfix 2.0以降では、 virtual_alias_domains と virtual_alias_maps という 2つの制御に分かれて置き換えられました。
virtual(8) 配送エージェントが $virtual_uid_maps テーブル 検索からの結果として受け付ける最小のユーザ ID の値。この値よりも 小さな返り値は拒否され、メッセージは遅延されます。
$virtual_mailbox_domains パラメータ値にマッチするドメイン宛の、デフォルトのメール配送 transport。 この情報は transport(5) テーブルで上書きされます。
transport:nexthop という形式の文字列を指定します。ここで transport は master.cf で定義されたメール配送 transport の 名前です。:nexthop 部分はオプションです。詳細は transport(5) マニュアルページを参照して ください。
この機能はPostfix 2.0以降で使えます。
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) 配送 エージェントは致命的エラーで終了します。