TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)

名称
       trivial-rewrite - Postfix 地址重写与解析守护进程

概述
       trivial-rewrite [通用 Postfix 守护进程选项]

描述
       trivial-rewrite(8) 守护进程可处理三类客户端服务请求:

       rewrite context address
              根据地址重写上下文将地址标准化:
              
              local$myorigin$mydomain 指定的域名附加到不完整地址;
                     执行 swap_bangpathallow_percent_hack 处理,
                     并将源路由地址(@site,@site:user@domain)转换为 user@domain 格式

              remote$remote_header_rewrite_domain 指定的域名附加到不完整地址。
                     其他处理逻辑与 local 上下文相同,可防止 Postfix 将本地域名附加到格式错误的远程客户端垃圾邮件中

       resolve sender address
              将地址解析为(transport, nexthop, recipient, flags)四元组:
              
              transport
                     使用的投递代理,对应 master.cf 文件条目的首字段

              nexthop
                     目标主机及可选的投递方式信息

              recipient
                     传递给 nexthop 的信封收件人地址

              flags
                     地址类别标识,包含是否需要中继、是否存在问题以及请求是否失败

       verify sender address
              为地址验证目的解析地址

服务进程管理
       trivial-rewrite(8) 服务由 Postfix master(8) 主进程控制。
       每个服务可同时处理多个连接。当所有服务进程都处于忙碌状态时,
       主进程会创建新服务进程(不超过进程数上限)。每个 trivial-rewrite 服务进程
       在处理完至少 $max_use 个客户端请求或空闲 $max_idle 秒后自动终止。

标准
       无。本命令不涉及外部交互。

安全性
       trivial-rewrite(8) 守护进程不涉及敏感安全操作。默认配置下,
       该进程不与任何本地或远程用户交互,可在 chroot 环境中以低权限运行。

诊断
       问题与事务记录将输出至 syslogd(8) 或 postlogd(8)配置参数
       在繁忙的邮件系统中,修改 main.cf 后可能需要较长时间才能生效。
       执行 "postfix reload" 命令可加速配置更新。

       下文为参数摘要,完整说明及示例请参阅 postconf(5)兼容性控制
       resolve_dequoted_address (yes)
              安全而非精确地解析收件人地址(会检查引号内内容)

       Postfix 2.1 及以上版本支持:

       resolve_null_domain (no)
              将以 "@" 空域结尾的地址视为包含本地主机名,而非直接拒绝

       Postfix 2.3 及以上版本支持:

       resolve_numeric_domain (no)
              将 "user@ipaddress" 解析为 "user@[ipaddress]",而非视为无效地址

       Postfix 2.5 及以上版本支持:

       allow_min_user (no)
              允许发件人或收件人地址首字符为 "-"

地址重写控制
       myorigin ($myhostname)
              本地发出邮件的默认域名,也是本地邮件的投递目标

       allow_percent_hack (yes)
              启用 "user%domain" 到 "user@domain" 的格式转换

       append_at_myorigin (yes)
              为本地提交邮件中不含域名的地址追加 "@$myorigin"

       append_dot_mydomain (Postfix >= 3.0: no, Postfix < 3.0: yes)
              为本地提交邮件中不含 ".domain" 的地址追加 ".$mydomain"

       recipient_delimiter (empty)
              用于分隔邮件地址本地部分与扩展名的字符集

       swap_bangpath (yes)
              启用 "site!user" 到 "user@site" 的格式转换

       Postfix 2.2 及以上版本支持:

       remote_header_rewrite_domain (empty)
              当值非空时,重写或添加远程客户端邮件的消息头,
              用指定域名补全不完整地址,并补充缺失的头部字段

路由控制
       (以下特性需 Postfix 2.0 及以上版本,早期版本不支持
       virtual_transportrelay_transportvirtual_alias_domainsvirtual_mailbox_domainsproxy_interfaceslocal_transport (local:$myhostname)
              默认投递方式及下一跳目标,适用于:
              - mydestination 列出的域
              - 匹配 $inet_interfaces 或 $proxy_interfaces 的 [ipaddress] 目标

       virtual_transport (virtual)
              默认投递方式及下一跳目标,适用于 $virtual_mailbox_domains 列出的域

       relay_transport (relay)
              默认投递方式及下一跳目标,适用于中继域地址类:
              匹配 $relay_domains 的收件人域

       default_transport (smtp)
              默认投递方式及下一跳目标,适用于默认域地址类:
              不匹配 $mydestination、$inet_interfaces、$proxy_interfaces、
              $virtual_alias_domains、$virtual_mailbox_domains 或 $relay_domains 的域

       parent_domain_matches_subdomains (see 'postconf -d' output)
              指定哪些 Postfix 功能会将 "example.com" 模式同时匹配子域,
              而不需要显式使用 ".example.com" 模式

       relayhost (empty)
              非本地邮件的强制下一跳目标(优先级高于收件人地址中的非本地域)

       transport_maps (empty)
              可选查询表,定义收件人地址到(投递方式,下一跳目标)的映射

       Postfix 2.3 及以上版本支持:

       sender_dependent_relayhost_maps (empty)
              基于发件人覆盖全局 relayhost 参数

       Postfix 2.5 及以上版本支持:

       empty_address_relayhost_maps_lookup_key (<>)
              替代空发件人地址的查询键,用于 sender_dependent_relayhost_maps

       Postfix 2.7 及以上版本支持:

       empty_address_default_transport_maps_lookup_key (<>)
              替代空发件人地址的查询键,用于 sender_dependent_default_transport_maps

       sender_dependent_default_transport_maps (empty)
              基于发件人覆盖全局 default_transport 参数

地址验证控制
       Postfix 2.1 引入的发件人与收件人地址验证功能通过发送
       (实际不投递的)探测邮件实现。默认情况下,地址验证探测
       使用与常规邮件相同的路由。以下参数可覆盖特定路由行为:

       address_verify_local_transport ($local_transport)
              覆盖地址验证探测的 local_transport 参数

       address_verify_virtual_transport ($virtual_transport)
              覆盖地址验证探测的 virtual_transport 参数

       address_verify_relay_transport ($relay_transport)
              覆盖地址验证探测的 relay_transport 参数

       address_verify_default_transport ($default_transport)
              覆盖地址验证探测的 default_transport 参数

       address_verify_relayhost ($relayhost)
              覆盖地址验证探测的 relayhost 参数

       address_verify_transport_maps ($transport_maps)
              覆盖地址验证探测的 transport_maps 参数

       Postfix 2.3 及以上版本支持:

       address_verify_sender_dependent_relayhost_maps ($sender_dependent_relayhost_maps)
              覆盖地址验证探测的 sender_dependent_relayhost_maps 参数

       Postfix 2.7 及以上版本支持:

       address_verify_sender_dependent_default_transport_maps ($sender_dependent_default_transport_maps)
              覆盖地址验证探测的 sender_dependent_default_transport_maps 参数

其他控制参数
       config_directory (see 'postconf -d' output)
              Postfix 配置文件 main.cfmaster.cf 的默认位置

       daemon_timeout (18000s)
              Postfix 守护进程处理单个请求的最长时限(超时将被监控进程终止)

       empty_address_recipient (MAILER-DAEMON)
              空地址邮件的默认收件人

       ipc_timeout (3600s)
              进程间通信通道的超时时限

       max_idle (100s)
              空闲服务进程自动终止前的最大等待时间

       max_use (100)
              服务进程自动终止前处理的最大连接数

       relocated_maps (empty)
              存储已迁移用户/域新联系信息的可选查询表

       process_id (read-only)
              Postfix 命令或守护进程的进程 ID

       process_name (read-only)
              Postfix 命令或守护进程的进程名称

       queue_directory (see 'postconf -d' output)
              Postfix 队列目录的顶级路径

       show_user_unknown_table_name (yes)
              在"用户未知"响应中显示收件人表名称

       syslog_facility (mail)
              Postfix 日志的 syslog 设施类型

       syslog_name (see 'postconf -d' output)
              预置在 syslog 记录进程名称前的标识前缀
              (例如将"smtpd"记录为"prefix/smtpd")

       Postfix 2.0 及以上版本支持:

       helpful_warnings (yes)
              记录问题配置的警告日志并提供改进建议

       Postfix 3.3 及以上版本支持:

       service_name (read-only)
              Postfix 守护进程在 master.cf 中定义的服务名称

参见
       postconf(5) - 配置参数说明
       transport(5) - 传输表格式
       relocated(5) - 用户迁移信息表格式
       master(8) - 进程管理器
       postlogd(8) - Postfix 日志服务
       syslogd(8) - 系统日志服务

说明文档
       ADDRESS_CLASS_README - Postfix 地址分类指南
       ADDRESS_VERIFICATION_README - Postfix 地址验证说明

许可协议
       本软件需随附 Secure Mailer 许可证

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

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

                                                            TRIVIAL-REWRITE(8)