FLUSH(8)                                                              FLUSH(8)

名称
       flush - Postfix 快速刷新服务

概述
       flush [通用 Postfix 守护进程选项]

描述
       flush(8) 服务维护按目标地址分类的延迟邮件记录。这些信息用于提升 SMTP ETRN 请求及其命令行等效命令 "sendmail -qR" 或 "postqueue -f" 的性能。该服务需通过 master(8) 进程管理器启动运行。

       这些记录以按目标地址划分的日志文件形式实现,内容为延迟邮件的队列 ID。日志文件采用追加写入模式,当系统收到对应目标地址的邮件发送请求时会被清空。这里的"目标地址"指的是电子邮件地址中最后一个 @ 符号右侧的部分。

       系统仅为符合条件的目标地址维护延迟邮件日志。符合条件的地址列表由 fast_flush_domains 配置参数指定,默认值为 $relay_domains。

       本服务支持以下操作请求:

       add 目标地址 队列ID
              通知 flush(8) 服务,将指定队列 ID 的邮件标记为发往该目标地址的延迟邮件。

       send_site 目标地址
              请求发送所有排队等待发往该目标地址的邮件。

       send_file 队列ID
              请求发送指定队列 ID 的延迟邮件。

       refresh
              刷新超过 $fast_flush_refresh_time 小时未读取的非空日志文件,通过模拟发送请求(如上所述)来更新对应目标地址的状态。

              同时删除超过 $fast_flush_purge_time 天未更新的空日志文件。

              该操作在后台自动完成。

       purge
              对所有目标地址日志文件执行 refresh 操作。

安全性
       flush(8) 服务不涉及敏感安全操作。它既不进行网络通信,也不与本地用户交互。快速刷新服务可以 chroot 方式在固定的低权限环境下运行。

诊断
       操作问题和事务记录会被发送至 syslogd(8) 或 postlogd(8) 日志服务。

已知问题
       快速刷新日志文件仅在收到"发送"请求时清空,而非实际邮件送达时,因此可能积累过时或冗余数据。为保持系统稳定运行,必须定期执行"刷新"操作。可通过在 master.cf 配置文件中设置合适的唤醒计时器来自动化此过程。

       当收到发送邮件到符合条件的地址的请求时,flush(8) 服务会请求发送该地址日志文件中列出的所有邮件,而不考虑这些邮件的实际收件人。对于发往 relay_domains 地址的邮件,这通常不会造成问题,因为这类邮件通常只包含单一域名的收件人。

配置参数main.cf 的配置更改会被 flush(8) 服务自动加载,因为该服务进程只会运行有限时间。使用 "postfix reload" 命令可以加速配置更新。

       以下仅列出关键参数摘要,完整说明和示例请参考 postconf(5) 手册。

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

       daemon_timeout (18000秒)
              Postfix 守护进程处理单个请求的最长时间,超时后会被内置监控程序终止。

       fast_flush_domains ($relay_domains)
              可启用快速刷新日志功能的目标地址列表。

       fast_flush_refresh_time (12小时)
              非空但未读取的快速刷新日志文件的最长刷新间隔。

       fast_flush_purge_time (7天)
              空日志文件的最长保留时间。

       ipc_timeout (3600秒)
              进程间通信通道的最长等待时间。

       max_idle (100秒)
              Postfix 守护进程在无连接状态下保持运行的最长时间。

       max_use (100)
              Postfix 守护进程在自动重启前可处理的最大连接数。

       parent_domain_matches_subdomains (参见 'postconf -d' 输出)
              指定哪些 Postfix 功能会将 "example.com" 模式自动匹配到其子域名(如 sub.example.com),而不需要显式指定 ".example.com" 模式。

       process_id (只读)
              当前 Postfix 进程的 ID。

       process_name (只读)
              当前 Postfix 进程的名称。

       queue_directory (参见 'postconf -d' 输出)
              Postfix 邮件队列的根目录位置。

       syslog_facility (mail)
              Postfix 日志使用的 syslog 设施。

       syslog_name (参见 'postconf -d' 输出)
              在 syslog 记录中为进程名称添加的前缀,例如将 "smtpd" 显示为 "prefix/smtpd"。

       Postfix 3.3 及以上版本新增:

       service_name (只读)
              当前守护进程在 master.cf 中定义的服务名称。

文件
       /var/spool/postfix/flush/,快速刷新日志文件存储目录。
参见
       smtpd(8) - SMTP 服务器
       qmgr(8) - 队列管理器
       postconf(5) - 配置参数详解
       master(5) - 守护进程通用配置
       master(8) - 进程管理服务
       postlogd(8) - Postfix 日志服务
       syslogd(8) - 系统日志服务

说明文档
       ETRN_README - Postfix ETRN 功能使用指南

授权条款
       使用本软件需遵循 Secure Mailer 授权协议。

历史版本
       本服务首次出现于 Postfix 1.0 版本。

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

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

                                                                      FLUSH(8)