POSTCONF(1)                                                        POSTCONF(1)

名称
       postconf - Postfix 配置工具

概要
   管理 main.cf 文件:

       postconf [-dfhHnopqvx] [-c config_dir] [-C class,...] [parameter ...]

       postconf [-epv] [-c config_dir] parameter=value ...

       postconf -# [-pv] [-c config_dir] parameter ...

       postconf -X [-pv] [-c config_dir] parameter ...

   管理 master.cf 服务条目:

       postconf -M [-foqvx] [-c config_dir] [service[/type] ...]

       postconf -M [-ev] [-c config_dir] service/type=value ...

       postconf -M# [-v] [-c config_dir] service/type ...

       postconf -MX [-v] [-c config_dir] service/type ...

   管理 master.cf 服务字段:

       postconf -F [-fhHoqvx] [-c config_dir] [service[/type[/field]] ...]

       postconf -F [-ev] [-c config_dir] service/type/field=value ...

   管理 master.cf 服务参数:

       postconf -P [-fhHoqvx] [-c config_dir] [service[/type[/parameter]] ...]

       postconf -P [-ev] [-c config_dir] service/type/parameter=value ...

       postconf -PX [-v] [-c config_dir] service/type/parameter ...

   管理退回消息模板:

       postconf -b [-v] [-c config_dir] [template_file]

       postconf -t [-v] [-c config_dir] [template_file]

   管理 TLS 功能:

       postconf -T mode [-v] [-c config_dir]

   管理其他配置:

       postconf -a|-A|-l|-m [-v] [-c config_dir]

描述
       默认情况下,postconf(1) 命令会显示 main.cf 配置参数的值,并对可能输入错误的参数名发出警告(Postfix 2.9 及更高版本)。该命令还可以修改 main.cf 配置参数值,或显示 Postfix 邮件系统的其他配置信息。

       选项说明:

       -a     列出 Postfix SMTP 服务器可用的 SASL 插件类型。插件类型通过 smtpd_sasl_type 配置参数选择。

              可用类型包括:
              cyrus  当 Postfix 编译时支持 Cyrus SASL 时可用此服务器插件
              dovecot 此服务器插件使用 Dovecot 认证服务器,当 Postfix 编译时支持任何形式的 SASL 时可用

              此功能自 Postfix 2.3 版本开始提供。

       -A     列出 Postfix SMTP 客户端可用的 SASL 插件类型。插件类型通过 smtp_sasl_typelmtp_sasl_type 配置参数选择。

              可用类型:
              cyrus  当 Postfix 编译时支持 Cyrus SASL 时可用此客户端插件

              此功能自 Postfix 2.3 版本开始提供。

       -b [template_file]
              显示投递状态通知(DSN)消息开头的文本内容,并将 $name 表达式展开为实际值,详见 bounce(5)。

              要覆盖 bounce_template_file 参数设置,可在 "postconf -b" 命令末尾指定模板文件名。指定空文件名可显示内置模板(shell 语法表示为 "")。

              此功能自 Postfix 2.3 版本开始提供。

       -c config_dir
              指定 main.cf 配置文件所在的目录,而非默认配置目录。

       -C class,...
              显示 main.cf 参数时,仅显示指定类别的参数:

              builtin  具有内置名称的参数
              service  使用服务定义名称的参数(master.cf 条目的第一个字段加上 Postfix 定义的后缀)
              user    使用用户自定义名称的参数
              all     包含以上所有类别

              默认等同于指定 "-C all"。

              此功能自 Postfix 2.9 版本开始提供。

       -d     显示 main.cf 参数的默认值而非当前设置值。使用 -df 可折叠长行以提高可读性(Postfix 2.9 及更高版本)。

       -e     编辑 main.cf 配置文件,并使用 postconf(1) 命令行上的 "name=value" 对更新参数设置。

              与 -M 联用时,编辑 master.cf 配置文件,用 "service/type=value" 格式的新值替换一个或多个服务条目。

              与 -F 联用时,编辑 master.cf 配置文件,用 "service/type/field=value" 格式的新值替换一个或多个服务字段。当前,"command" 字段包含命令名称和参数,未来可能会改为仅包含命令名称,而新增 "arguments" 伪字段包含命令参数。

              与 -P 联用时,编辑 master.cf 配置文件,添加或更新一个或多个服务参数设置(-o parameter=value 设置)。

              所有情况下,文件都会被复制到临时文件后再重命名。在 postconf(1) 命令行中使用引号保护特殊字符和空格。

              从 Postfix 2.8 版本开始,当指定了参数值(无论是否为空)时,不再需要显式使用 -e 选项。

       -f     打印 main.cfmaster.cf 配置文件条目时折叠长行,提高可读性。

              此功能自 Postfix 2.9 版本开始提供。

       -F     显示 master.cf 文件中每个条目的字段设置(默认显示所有服务和所有字段),格式为 "service/type/field=value",每行一个。使用 -Ff 可折叠长行。

              在 postconf(1) 命令行指定一个或多个 "service/type/field" 实例可限制输出范围。省略的尾部参数名或服务类型字段将被视为 "*" 通配符。

              此功能自 Postfix 2.11 版本开始提供。

       -h     显示参数或属性值时省略通常位于值前的 "name = " 标签。

       -H     显示参数或属性名时省略通常位于名后的 " = value" 部分。

              此功能自 Postfix 3.1 版本开始提供。

       -l     列出所有支持的邮箱锁定方法名称。Postfix 支持以下方法:

              flock  基于内核的咨询锁定方法,仅适用于本地文件。此锁定方法在具有 BSD 兼容库的系统上可用。
              fcntl  基于内核的咨询锁定方法,适用于本地和远程文件。
              dotlock 应用级锁定方法。应用程序通过创建名为 filename.lock 的文件来锁定 filename 文件。应用程序应自行移除锁文件,以及程序异常终止后遗留的陈旧锁文件。

       -m     列出所有支持的查找表类型名称。在 Postfix 配置文件中,查找表以 type:name 格式指定,其中 type 是下列类型之一。表 name 的语法取决于查找表类型,详见 DATABASE_README 文档。

              btree  排序平衡的树结构。在支持 Berkeley DB 数据库的系统上可用。
              cdb    读取优化的结构,不支持增量更新。在支持 CDB 数据库的系统上可用。

                     此功能自 Postfix 2.2 版本开始提供。

              cidr   与无类别域间路由(CIDR)模式关联值的表。详见 cidr_table(5)。

                     此功能自 Postfix 2.2 版本开始提供。

              dbm    基于哈希的索引文件类型。在支持 DBM 数据库的系统上可用。
              environ UNIX 进程环境数组。查找键是环境变量名;表名被忽略。最初用于测试,可能在某些场景有用。
              fail   总是返回失败的查找表。表名用于日志记录。此表用于简化 Postfix 错误测试。

                     此功能自 Postfix 2.9 版本开始提供。

              hash   基于哈希的索引文件类型。在支持 Berkeley DB 数据库的系统上可用。
              inline (只读) 非共享的内存查找表。例如:"inline:{key=value, { key = 包含空格或逗号的文本 }}"。键值对用空格或逗号分隔;在 "{}" 内的键值对会忽略开头 "{" 后、键值间 "=" 周围和结尾 "}" 前的空格。内联表无需为少量固定元素创建数据库文件。另见 static: 映射类型。

                     此功能自 Postfix 3.0 版本开始提供。

              internal 非共享的内存哈希表。进程终止时其内容会丢失。
              lmdb    OpenLDAP LMDB 数据库(内存映射的持久化文件)。在支持 LMDB 数据库的系统上可用。详见 lmdb_table(5)。

                     此功能自 Postfix 2.11 版本开始提供。

              ldap (只读) LDAP 数据库客户端。详见 ldap_table(5)memcache Memcache 数据库客户端。详见 memcache_table(5)。

                     此功能自 Postfix 2.9 版本开始提供。

              mongodb MongoDB 数据库客户端。详见 mongodb_table(5)。

                     此功能自 Postfix 3.9 版本开始提供。

              mysql (只读) MySQL 数据库客户端。在支持 MySQL 数据库的系统上可用。详见 mysql_table(5)pcre (只读) 基于 Perl 兼容正则表达式的查找表。文件格式详见 pcre_table(5)pgsql (只读) PostgreSQL 数据库客户端。详见 pgsql_table(5)。

                     此功能自 Postfix 2.1 版本开始提供。

              pipemap (只读) 构建表管道的查找表。例如:"pipemap:{type_1:name_1, ..., type_n:name_n}"。每个 "pipemap:" 查询会传递给第一个表。每个查找结果成为管道中下一个表的查询,最后一个表产生最终结果。当任何表查找无结果时,管道也不产生结果。"pipemap:" 表名的首尾字符必须是 "{" 和 "}",其中的映射用逗号或空格分隔。

                     此功能自 Postfix 3.0 版本开始提供。

              proxy  Postfix proxymap(8) 客户端,用于共享访问 Postfix 数据库。表名语法为 type:name。

                     此功能自 Postfix 2.0 版本开始提供。

              randmap (只读) 执行随机选择的内存表。例如:"randmap:{result_1, ..., result_n}"。每个表查询从指定结果中随机返回一个选项。"randmap:" 表名的首尾字符必须是 "{" 和 "}",其中的结果用逗号或空格分隔。要增加特定结果的权重,可多次指定它。

                     此功能自 Postfix 3.0 版本开始提供。

              regexp (只读) 基于正则表达式的查找表。文件格式详见 regexp_table(5)sdbm   基于哈希的索引文件类型。在支持 SDBM 数据库的系统上可用。

                     此功能自 Postfix 2.2 版本开始提供。

              socketmap (只读) Sendmail 风格的套接字映射客户端。表名为 inet:host:port:name(TCP/IP 服务器)或 unix:pathname:name(UNIX 域服务器)。详见 socketmap_table(5)。

                     此功能自 Postfix 2.10 版本开始提供。

              sqlite (只读) SQLite 数据库。详见 sqlite_table(5)。

                     此功能自 Postfix 2.8 版本开始提供。

              static (只读) 总是返回其名称作为查找结果的表。例如,static:foobar 总是返回字符串 "foobar"。当结果包含空格时使用 "static:{包含空格的文本}" 形式,这会忽略开头 "{" 后和结尾 "}" 前的空格。另见 inline: 映射。

                     形式 "static:{text}" 自 Postfix 3.0 版本开始提供。

              tcp (只读) TCP/IP 客户端。协议详见 tcp_table(5)texthash (只读) 产生与 hash: 文件类似的结果,但无需预先运行 postmap(1) 命令,且读取文件后不会检测更改。

                     此功能自 Postfix 2.8 版本开始提供。

              unionmap (只读) 将每个查询发送到多个查找表并连接所有找到结果(用逗号分隔)的表。表名语法与 pipemap 相同。

                     此功能自 Postfix 3.0 版本开始提供。

              unix (只读) UNIX 认证数据库的有限视图。已实现以下表:
                     unix:passwd.byname UNIX 密码数据库。键是登录名,结果是 passwd(5) 格式的密码文件条目。
                     unix:group.byname UNIX 组数据库。键是组名,结果是 group(5) 格式的组文件条目。

              根据 Postfix 的编译方式,可能还存在其他表类型。

       -M     显示 master.cf 文件内容而非 main.cf 文件内容。使用 -Mf 可折叠长行提高可读性。

              指定零个或多个参数,每个参数为 service-nameservice-name/service-type 对,其中 service-namemaster.cf 条目的第一个字段,service-typeinetunixfifopass 之一。

              若指定 service-nameservice-name/service-type,则只输出匹配的 master.cf 条目。例如 "postconf -Mf smtp" 输出所有名为 "smtp" 的服务,而 "postconf -Mf smtp/inet" 只输出监听网络的 smtp 服务。省略的尾部服务类型字段被视为 "*" 通配符。

              此功能自 Postfix 2.9 版本开始提供。语法从 "name.type" 改为 "name/type",通配符支持自 Postfix 2.11 版本添加。

       -n     只显示 main.cf 中明确设置 name=value 的配置参数。使用 -nf 可折叠长行提高可读性(Postfix 2.9 及更高版本)。要仅显示与内置默认值不同的设置,可使用以下 bash 语法:
                  LANG=C comm -23 <(postconf -n) <(postconf -d)
              将 "-23" 改为 "-12" 可显示与内置默认值重复的设置。

       -o name=value
              覆盖 main.cf 参数设置。这使您能看到修改参数对其他配置参数的影响,例如:
                  postconf -x -o stress=yes

              此功能自 Postfix 2.10 版本开始提供。

       -p     显示 main.cf 参数设置。此为默认行为。

              此功能自 Postfix 2.11 版本开始提供。

       -P     显示 master.cf 服务参数设置(默认显示所有服务和所有参数),格式为 "service/type/parameter=value",每行一个。使用 -Pf 可折叠长行。

              在 postconf(1) 命令行指定一个或多个 "service/type/parameter" 实例可限制输出范围。省略的尾部参数名或服务类型字段被视为 "*" 通配符。

              此功能自 Postfix 2.11 版本开始提供。

       -q     不记录已弃用或未使用参数的警告。

              此功能自 Postfix 3.9 版本开始提供。

       -t [template_file]
              显示投递状态通知(DSN)消息开头的模板文本,不展开 $name 表达式。

              要覆盖 bounce_template_file 参数设置,可在 "postconf -t" 命令末尾指定模板文件名。指定空文件名可显示内置模板(shell 语法表示为 "")。

              此功能自 Postfix 2.3 版本开始提供。

       -T mode
              如果 Postfix 编译时不支持 TLS,-T 选项不产生输出。否则,若指定无效的 mode-T 选项会报错并以非零状态码退出。有效模式包括:

              compile-version 输出 Postfix 编译时使用的 OpenSSL 版本(即头文件中的 OpenSSL 版本)。输出格式与 "openssl version" 命令相同。
              run-version 输出 Postfix 运行时链接的 OpenSSL 版本(即共享库中的 OpenSSL 版本)。
              public-key-algorithms 输出支持的公开密钥算法的小写名称,每行一个。

              此功能自 Postfix 3.1 版本开始提供。

       -v     为调试启用详细日志记录。多个 -v 选项会增加详细程度。

       -x     展开 main.cfmaster.cf 参数值中的 $name。展开是递归的。

              此功能自 Postfix 2.10 版本开始提供。

       -X     编辑 main.cf 配置文件,并移除 postconf(1) 命令行指定的参数。需指定参数名列表,而非 "name=value" 对。

              与 -M 联用时,编辑 master.cf 配置文件,移除 postconf(1) 命令行上以 "service/type" 格式指定的一个或多个服务条目。

              与 -P 联用时,编辑 master.cf 配置文件,移除 postconf(1) 命令行上以 "service/type/parameter" 格式指定的一个或多个服务参数设置(-o parameter=value 设置)。

              所有情况下,文件都会先复制到临时文件再重命名。在 postconf(1) 命令行使用引号保护特殊字符。

              没有反向操作的 postconf(1) 命令。

              此功能自 Postfix 2.10 版本开始提供。对 -M 和 -P 的支持自 Postfix 2.11 版本添加。

       -#     编辑 main.cf 配置文件,并注释掉 postconf(1) 命令行指定的参数,使其恢复默认值。需指定参数名列表,而非 "name=value" 对。

              与 -M 联用时,编辑 master.cf 配置文件,注释掉 postconf(1) 命令行上以 "service/type" 格式指定的一个或多个服务条目。

              所有情况下,文件都会先复制到临时文件再重命名。在 postconf(1) 命令行使用引号保护特殊字符。

              没有反向操作的 postconf(1) 命令。

              此功能自 Postfix 2.6 版本开始提供。对 -M 的支持自 Postfix 2.11 版本添加。

诊断
       问题会报告到标准错误流。

环境变量
       MAIL_CONFIG
              Postfix 配置文件所在目录。

配置参数
       以下 main.cf 参数与此程序特别相关。

       下文仅提供参数摘要。详见 postconf(5) 获取包含示例的详细信息。

       config_directory (参见 'postconf -d' 输出)
              Postfix main.cfmaster.cf 配置文件的默认位置。

       bounce_template_file (空)
              包含退回消息模板的配置文件路径。

文件
       /etc/postfix/main.cf, Postfix 配置参数
       /etc/postfix/master.cf, Postfix 主守护进程配置

参见
       bounce(5), 退回模板文件格式
       master(5), master.cf 配置文件语法
       postconf(5), main.cf 配置文件语法

自述文件
       DATABASE_README, Postfix 查找表概述

许可证
       安全邮件系统许可证需随此软件一同分发。

作者
       Wietse Venema
       IBM T.J. Watson 研究中心
       邮政信箱 704
       美国纽约州约克镇高地,邮编 10598

       Wietse Venema
       Google 公司
       美国纽约州纽约市第八大道 111 号
       邮编 10011

                                                                   POSTCONF(1)