postfix - Postfix 制御プログラム
SYNOPSIS
postfix [-Dv] [-c config_dir] コマンド
DESCRIPTION
このコマンドはスーパーユーザー専用です。メールの送信には、Postfix の sendmail(1) コマンドを使用してください。
^ ostfix(1) コマンドは、Postfix メールシステムを制御します。master(8) デーモンを起動または停止したり、健全性チェックを実行したり、その他のメンテナンスを行います。
デフォルトでは、postfix(1) コマンドは標準化された環境をセットアップし、実際の処理を行うために postfix-script シェルスクリプトを実行します。
ただし、複数の Postfix インスタンスのサポートが構成されている場合、postfix(1) は multi_instance_wrapper 構成パラメータで指定されたコマンドを実行します。このコマンドは、適用可能なすべての Postfix インスタンスに対してコマンドを実行します。
次のコマンドが実装されています。
check ディレクトリ/ファイルの所有権または権限が正しくない場合に警告し、不足しているディレクトリを作成します。
start Postfix メールシステムを開始します。これにより、上記で説明した構成チェックも実行されます。
start-fg
`start` と同様ですが、`master(8)` デーモンをフォアグラウンドで実行し、PID 1 として実行している場合に `master(8)` の「init」モードを有効にします。このコマンドには、複数インスタンスのサポートが無効になっている必要があります(つまり、`multi_instance_directories` パラメータの値は空である必要があります)。
Postfix をコンテナ内で実行する場合は、MAILLOG_README を参照して、stdout へのログ記録を行ってください。Postfix はデフォルトで syslog にログを記録します。これには、a) コンテナ内で syslogd プロセスを実行するか、b) コンテナホストの /dev/log ソケットをコンテナ内にマウントする(例:docker run -v /dev/log:/dev/log ...)必要があります。また、c) Postfix インスタンスからのログ記録を識別する、一意の Postfix の「syslog_name」プレフィックスが必要です。
stop Postfix メールシステムを正常に停止します。可能な場合は、実行中のプロセスが可能な限り速やかに終了します。
注:構成の変更後に Postfix メールシステムを更新するには、`start` コマンドと `stop` コマンドを連続して使用しないでください。代わりに、`reload` コマンドを使用してください。
abort Postfix メールシステムを直ちに停止します。実行中のプロセスに直ちに停止するようにシグナルを送信します。
flush 強制配信:保留中のメールキュー内のすべてのメッセージの配信を試みます。通常、遅延したメールの配信は定期的な間隔で行われ、失敗するたびに間隔が 2 倍になります。
警告:配信不能なメールを頻繁にフラッシュすると、他のすべてのメールの配信パフォーマンスが低下します。
reload 構成ファイルを再読み込みします。実行中のプロセスは、可能な限り速やかに終了します。
status Postfix メールシステムが現在実行中である(ゼロの終了ステータス)か、停止している(ゼロ以外の終了ステータス)かを示します。
set-permissions [name=value ...]
Postfixに関連するファイルとディレクトリの所有権とアクセス許可を設定します。設定は、postfix-filesファイルで指定されます。
name=valueの形式で指定することで、特定のmain.cf構成パラメータをオーバーライドおよび更新できます。たとえば、すでにインストールされたPostfixシステムで、mail_ownerまたはsetgid_groupの設定を変更する場合に使用します。
この機能は、Postfix 2.1以降で使用できます。Postfix 2.0以前の場合は、"$config_directory/post-install set-permissions"を使用します。
logrotate
$maillog_fileで指定されたログファイルをローテーションします。ローテーションの際には、タイムスタンプのサフィックスを追加します。サフィックスの形式は$maillog_file_rotate_suffixで指定され、ファイルは$maillog_file_compressorで指定されたコマンドで圧縮されます。ただし、/dev/*ファイルはローテーションしません。
この機能は、Postfix 3.4以降で使用できます。
tls subcommand
Postfix SMTPクライアントまたはサーバーで、オポチュニスティックTLSを有効にし、Postfix SMTPサーバーのTLSプライベートキーと証明書を管理します。詳細については、postfix-tls(1)を参照してください。
この機能は、Postfix 3.1以降で使用できます。
upgrade-configuration [name=value ...]
Postfixが実行するために必要な情報を、main.cfおよびmaster.cfファイルに更新します。これには、サービスを追加または更新したり、構成パラメータの設定を追加または更新したりすることが含まれます。
name=valueの形式で指定することで、特定のmain.cf構成パラメータをオーバーライドおよび更新できます。
この機能は、Postfix 2.1以降で使用できます。Postfix 2.0以前の場合は、"$config_directory/post-install upgrade-configuration"を使用します。
次のオプションが実装されています。
-c config_dir
main.cfおよびmaster.cf構成ファイルを、デフォルトの構成ディレクトリの代わりに、指定されたディレクトリから読み取ります。これにより、同じホスト上で複数のPostfixインスタンスを区別できます。
Postfix 2.6以降では、このオプションは、postfix(1)コマンドが指定されたPostfixインスタンスでのみ動作するように強制します。この動作は、現在のプロセスのサブプロセスとして実行されるpostfix(1)コマンドによって継承されます。
-D (postfix startでのみ)
各Postfixデーモンを、debugger_command構成パラメータで指定されたデバッガーの下で実行します。
-v デバッグ目的で、詳細なログを有効にします。-vオプションを複数指定すると、ソフトウェアの冗長性が高まります。
環境
postfix(1)コマンドは、postfix-scriptファイルを実行する前に、次の環境変数をエクスポートします。
MAIL_CONFIG
これは、-cコマンドラインオプションが存在する場合に設定されます。
Postfix 2.6以降では、この環境変数は、postfix(1)コマンドが指定されたPostfixインスタンスでのみ動作するように強制します。この動作は、現在のプロセスのサブプロセスとして実行されるpostfix(1)コマンドによって継承されます。
MAIL_VERBOSE
これは、-vコマンドラインオプションが存在する場合に設定されます。
MAIL_DEBUG
これは、-Dコマンドラインオプションが存在する場合に設定されます。
内部ロギングサービスが有効になっている場合(非空のmaillog_fileパラメータ値を設定した場合)、postfix(1)コマンドは、メインの.cfまたはコマンドラインの設定が処理される前に、子プロセスで使用される設定をエクスポートします。
POSTLOG_SERVICE
パブリックな Postlog サービスエンドポイントの名前。
POSTLOG_HOSTNAME
内部ロギングに付加するホスト名。
構成パラメータ
次の main.cf 構成パラメータは、同じ名前の環境変数としてエクスポートされます。
config_directory (「postconf -d」の出力参照)
Postfix の main.cf および master.cf 構成ファイルのデフォルトの場所。
command_directory (「postconf -d」の出力参照)
すべての Postfix 管理コマンドの場所。
daemon_directory (「postconf -d」の出力参照)
Postfix のサポートプログラムとデーモンプログラムが含まれるディレクトリ。
html_directory (「postconf -d」の出力参照)
特定の Postfix サブシステムまたは機能の構築、構成、または操作方法を記述する Postfix HTML ファイルの場所。
mail_owner (postfix)
Postfix キューとほとんどの Postfix デーモンプロセスが属する UNIX システムアカウント。
mailq_path (「postconf -d」の出力参照)
Postfix の mailq(1) コマンドがインストールされている場所を指定する、Sendmail 互換機能。
manpage_directory (「postconf -d」の出力参照)
Postfix マニュアルページがインストールされている場所。
newaliases_path (「postconf -d」の出力参照)
newaliases(1) コマンドの場所を指定する、Sendmail 互換機能。
queue_directory (「postconf -d」の出力参照)
Postfix のトップレベルのキューディレクトリの場所。
readme_directory (「postconf -d」の出力参照)
Postfix の README ファイルの場所。これらのファイルには、特定の Postfix サブシステムまたは機能の構築、構成、または操作方法が記述されています。
sendmail_path (「postconf -d」の出力参照)
Postfix の sendmail(1) コマンドの場所を指定する、Sendmail 互換機能。
setgid_group (postdrop)
set-gid Postfix コマンドおよびグループ書き込み可能な Postfix ディレクトリのグループ所有権。
Postfix バージョン 2.5 以降で使用可能:
data_directory (「postconf -d」の出力参照)
Postfix が書き込み可能なデータファイル(例:キャッシュ、擬似乱数)が含まれるディレクトリ。
Postfix バージョン 3.0 以降で使用可能:
compatibility_level (0)
新しい Postfix バージョンへのアップグレード後に、Postfix が後方互換性のあるデフォルト設定で実行されるようにする、安全策。
meta_directory (「postconf -d」の出力参照)
複数の Postfix インスタンス間で共有される実行可能でないファイル(例:postfix-files、dynamicmaps.cf、およびマルチインスタンステンプレートファイル main.cf.proto および master.cf.proto)の場所。
shlib_directory (「postconf -d」の出力参照)
Postfix の動的にリンクされたライブラリ(libpostfix-*.so)の場所、および dynamicmaps.cf ファイルに相対パスを持つ Postfix データベースプラグイン(postfix-*.so)のデフォルトの場所。
Postfix バージョン 3.1 以降で使用可能:
openssl_path (openssl)
OpenSSL コマンドラインプログラム openssl(1) の場所。
その他の設定パラメータ:
import_environment (「postconf -d」の出力参照)
特権を持つ Postfix プロセスが、Postfix 以外の親プロセスからインポートする環境変数のリスト、または name=value の形式で指定される環境オーバーライド。
syslog_facility (mail)
Postfix ロギングで使用する syslog ファシリティ。
syslog_name (「postconf -d」の出力参照)
syslog レコード内のプロセス名に付加されるプレフィックス。たとえば、"smtpd" は "prefix/smtpd" になります。
Postfix バージョン 2.6 以降で利用可能:
multi_instance_directories (空)
デフォルト以外の Postfix 構成ディレクトリのオプションリスト。これらのディレクトリは、同じ Postfix 実行可能ファイルとドキュメントを共有し、デフォルトの Postfix インスタンスと一緒に起動、停止などされる追加の Postfix インスタンスに属します。
multi_instance_wrapper (空)
`multi_instance_directories` パラメータの値が空でない場合に、`postfix(1)` コマンドが呼び出す、マルチインスタンスマネージャコマンドのパス名。
multi_instance_group (空)
この Postfix インスタンスのオプションのインスタンスグループ名。
multi_instance_name (空)
この Postfix インスタンスのオプションのインスタンス名。
multi_instance_enable (no)
この Postfix インスタンスがマルチインスタンスマネージャによって起動、停止などされることを許可します。
Postfix バージョン 3.4 以降で利用可能:
maillog_file (空)
Postfix の `postlogd(8)` サービスによって書き込まれるオプションのログファイルのファイル名。
maillog_file_compressor (gzip)
`postfix logrotate` を使用して `$maillog_file` をローテーションした後に実行するプログラム。
maillog_file_prefixes (/var, /dev/stdout)
`maillog_file` の値に対して許可されるプレフィックスのリスト。
maillog_file_rotate_suffix (%Y%m%d-%H%M%S)
`postfix logrotate` を使用してファイルをローテーションするときに `$maillog_file` に追加するサフィックスの形式。
postlog_service_name (postlog)
`master.cf` 内の `postlogd(8)` サービスエントリの名前。
ファイル
Postfix バージョン 2.6 より前は、次のファイルはすべて $config_directory にありました。一部のファイルは、複数のインスタンスが同じ Postfix バージョンを実行できるように、現在では $daemon_directory または $meta_directory にあります。
^ ostconf config_directory または postconf daemon_directory コマンドを使用して、名前を実際の値に展開します。
$config_directory/main.cf, Postfix 構成パラメータ
$config_directory/master.cf, Postfix デーモンプロセス
$daemon_directory/postfix-script, 管理コマンド
$daemon_directory/post-install, インストール後の構成
$meta_directory/dynamicmaps.cf, プラグインデータベースクライアント
$meta_directory/postfix-files, ファイル/ディレクトリのパーミッション
関連項目
コマンド:
postalias(1), エイリアスデータベースの作成/更新/クエリ
postcat(1), Postfix キューファイルの確認
postconf(1), Postfix 構成ユーティリティ
postdrop(1), Postfix メール投稿ユーティリティ
postfix(1), Postfix 制御プログラム
postfix-tls(1), Postfix TLS 管理
postkick(1), Postfix デーモンのトリガー
postlock(1), Postfix 互換のロック
postlog(1), Postfix 互換のロギング
postmap(1), Postfix 参照テーブルマネージャ
postmulti(1), Postfix マルチインスタンスマネージャ
postqueue(1), Postfix メールキュー制御
postsuper(1), Postfix ハウスキーピング
mailq(1), Sendmail 互換インターフェース
newaliases(1), Sendmail 互換インターフェース
sendmail(1), Sendmail 互換インターフェース
Postfix 設定: bounce(5), Postfix バウンスメッセージテンプレート master(5), Postfix master.cf ファイルの構文 postconf(5), Postfix main.cf ファイルの構文 postfix-wrapper(5), Postfix マルチインスタンス API
テーブル駆動型メカニズム: access(5), Postfix SMTP アクセス制御テーブル aliases(5), Postfix ローカルエイリアシング canonical(5), Postfix 入力アドレスのリライト generic(5), Postfix 出力アドレスのリライト header_checks(5), body_checks(5), Postfix コンテンツ検査 relocated(5), 転居したユーザー transport(5), Postfix ルーティングテーブル virtual(5), Postfix 仮想エイリアシング
テーブル検索メカニズム: cidr_table(5), CIDR パターンと値を関連付けます ldap_table(5), Postfix LDAP クライアント lmdb_table(5), Postfix LMDB データベースドライバー memcache_table(5), Postfix memcache クライアント mongodb_table(5), Postfix MongoDB クライアント mysql_table(5), Postfix MYSQL クライアント nisplus_table(5), Postfix NIS+ クライアント pcre_table(5), PCRE パターンと値を関連付けます pgsql_table(5), Postfix PostgreSQL クライアント regexp_table(5), POSIX 正規表現パターンと値を関連付けます socketmap_table(5), Postfix socketmap クライアント sqlite_table(5), Postfix SQLite データベースドライバー tcp_table(5), Postfix クライアント/サーバーテーブル検索
デーモンプロセス: anvil(8), Postfix 接続/レート制限 bounce(8), defer(8), trace(8), 配信ステータスレポート cleanup(8), メッセージを正規化してキューに追加 discard(8), Postfix 破棄配信エージェント dnsblog(8), DNS 許可/ブロックリストロガー error(8), Postfix エラー配信エージェント flush(8), Postfix 高速 ETRN サービス local(8), Postfix ローカル配信エージェント master(8), Postfix マスターデーモン oqmgr(8), 古い Postfix キューマネージャー pickup(8), Postfix ローカルメールピックアップ pipe(8), 非 Postfix コマンドにメールを配信 postlogd(8), Postfix 内部ロギングサービス postscreen(8), Postfix ゾンビブロッカー proxymap(8), Postfix 参照テーブルプロキシサーバー qmgr(8), Postfix キューマネージャー qmqpd(8), Postfix QMQP サーバー scache(8), Postfix 接続キャッシュマネージャー showq(8), Postfix メールキューを一覧表示 smtp(8), lmtp(8), Postfix SMTP+LMTP クライアント smtpd(8), Postfix SMTP サーバー spawn(8), 非 Postfix サーバーを実行 tlsmgr(8), Postfix TLS キャッシュとランダム性マネージャー tlsproxy(8), Postfix TLS プロキシサーバー trivial-rewrite(8), Postfix アドレスリライト verify(8), Postfix アドレス検証 virtual(8), Postfix 仮想配信エージェント
その他: syslogd(8), システムロギング
README ファイル "postconf readme_directory" または "postconf html_directory" を使用して、この情報を検索します。 OVERVIEW, Postfix コマンドとプロセスの概要 BASIC_CONFIGURATION_README, Postfix 基本設定 ADDRESS_REWRITING_README, Postfix アドレスリライト SMTPD_ACCESS_README, SMTP リレー/アクセス制御 CONTENT_INSPECTION_README, Postfix コンテンツ検査 QSHAPE_README, Postfix キュー分析
ライセンス
このソフトウェアには、セキュアメーラーのライセンスを同梱する必要があります。
著者
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA
Wietse Venema Google, Inc. 1118th Avenue New York, NY 10011, USA
TLSサポート:
Lutz Jaenicke
Brandenburg University of Technology
Cottbus, Germany
Victor Duchovni
Morgan Stanley
SASLサポートは元々:
Till Franke
SuSE Rhein/Main AG
65760Eschborn, Germany
LMTPサポートは元々:
Philip A. Prindeville
Mirapoint, Inc.
USA.
Amos Gouaux
University of Texas at Dallas
P.O. Box 830688, MC34
Richardson, TX 75083, USA
IPv6サポートは元々:
Mark Huizer, Eindhoven University, The Netherlands
Jun-ichiro 'itojun' Hagino, KAME project, Japan
The Linux PLD project
Dean Strik, Eindhoven University, The Netherlands