POSTQUEUE(1)                                                      POSTQUEUE(1)

名称
       postqueue - Postfix 邮件队列控制工具

概述
   刷新邮件队列:

       postqueue [-v] [-c config_dir] -f

       postqueue [-v] [-c config_dir] -i queue_id

       postqueue [-v] [-c config_dir] -s site

   列出邮件队列:

       postqueue [-v] [-c config_dir] -j

       postqueue [-v] [-c config_dir] -p

描述
       postqueue(1) 命令提供了 Postfix 邮件队列管理的用户界面,实现了传统上通过 sendmail(1) 命令提供的队列操作功能。如需执行需要超级用户权限的队列操作(如删除队列中的邮件或更改邮件状态),请参阅 postsuper(1) 命令。

       支持以下选项:

       -c config_dir
              指定 main.cf 配置文件所在目录(而非默认配置目录)。另请参阅下文的环境变量 MAIL_CONFIG 说明。

       -f     刷新队列:尝试投递所有待处理邮件。

              此选项通过联系 Postfix qmgr(8) 守护进程,实现传统的 "sendmail -q" 命令功能。

              警告:频繁刷新无法投递的邮件会降低整个邮件系统的投递效率。

       -i queue_id
              立即投递指定队列 ID 的延迟邮件。

              此选项通过联系 flush(8) 服务,实现传统的 sendmail -qI 命令功能。

              该功能需 Postfix 2.4 或更高版本支持。

       -j     以 JSON LINES 格式输出队列列表(基于 showq(8) 守护进程的数据)。格式说明详见下文 JSON 对象格式 部分。

              该功能需 Postfix 3.1 或更高版本支持。

       -p     以传统 sendmail 风格显示队列列表。此选项通过联系 Postfix showq(8) 守护进程,实现传统的 mailq 命令功能。

              每个队列条目包含以下信息:
              - 队列文件 ID
              - 邮件大小
              - 到达时间
              - 发件人地址
              - 待投递的收件人地址
              
              若上次投递失败,将显示失败原因。队列 ID 后可能跟随状态标识符:

              *      表示邮件位于 活动 队列(正在投递中)

              !      表示邮件位于 保留 队列(暂停投递,需手动解除)

              #      表示邮件被标记为强制过期(参见 postsuper(1)-e-f 选项)

              强制过期功能需 Postfix 3.5 或更高版本支持。

       -s site
              立即投递所有发往指定站点的待处理邮件。site 参数必须为符合 RFC 5321 标准的地址字面量(用方括号 [] 括起,如电子邮件地址格式)。该站点必须已启用"快速刷新"服务,详见 flush(8) 说明。

              此选项通过联系 Postfix flush(8) 守护进程,实现传统的 "sendmail -qRsite" 命令功能。

       -v     启用详细日志输出用于调试。多次指定此选项可增加输出详细程度。从 Postfix 2.3 开始,此选项仅限超级用户使用。

JSON 对象格式
       每个 JSON 对象代表一个队列文件,以单行文本形式输出(末尾带换行符)。

       除非特别说明,所有对象成员均为字符串类型。程序应忽略本文档未列出的对象成员(未来版本可能会新增成员)。

       queue_name
              邮件所在队列名称。注意:在列出队列期间,其内容可能发生变化,可能导致某些邮件被重复列出或遗漏。

       queue_id
              队列文件名。除非配置了 "enable_long_queue_ids = true" 且系统时间单调递增,否则 queue_id 可能在 Postfix 实例中重复使用。即使满足条件,不同 Postfix 实例间的 queue_id 也可能重复。需要唯一标识符的管理工具应结合 queue_id 和 Postfix 实例的 myhostname 参数使用。

       arrival_time
              邮件到达时间(UNIX 时间戳,秒数)

       message_size
              邮件正文和头部的总字节数(不含信封信息),约等于通过 SMTP 传输时的字节数(包括 CRLF 行结束符)。

       forced_expire
              邮件是否被标记为强制过期(true/false)。参见 postsuper(1)-e-f 选项。

              该功能需 Postfix 3.5 或更高版本支持。

       sender 信封发件人地址。

       recipients
              收件人数组(可能为空),每个元素包含:

              address
                     收件人地址

              delay_reason
                     延迟投递原因(可选)。某些情况下(如投递进行中或系统异常终止)可能不记录延迟原因。

安全性
       本程序默认以 set-group ID 权限运行,以便连接 Postfix 守护进程。

标准
       RFC 7159 (JSON 数据格式)

诊断
       问题将记录至 syslogd(8) 或 postlogd(8),同时输出到标准错误流。

环境变量
       MAIL_CONFIG
              指定 main.cf 文件所在目录。为防范 set-group ID 权限滥用,仅在以下情况允许非标准目录:

              o      该目录已在标准 main.cf 文件中通过 alternate_config_directories 参数声明

              o      由超级用户执行命令

配置参数
       以下 main.cf 参数与本命令密切相关。此处仅作简要说明,完整说明及示例请参阅 postconf(5)alternate_config_directories (空)
              允许通过命令行 "-c config_directory" 或 MAIL_CONFIG 环境变量指定的非默认配置目录列表(sendmail(1) 使用 "-C" 选项指定)。

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

       command_directory (参见 'postconf -d' 输出)
              Postfix 管理命令的安装目录。

       fast_flush_domains ($relay_domains)
              支持"快速刷新"服务的目标域名列表。

       import_environment (参见 'postconf -d' 输出)
              特权 Postfix 进程可从父进程继承的环境变量列表(格式为 name=value)。

       queue_directory (参见 'postconf -d' 输出)
              Postfix 队列目录的根路径。

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

       syslog_name (参见 'postconf -d' 输出)
              syslog 记录中进程名前缀(如 "prefix/smtpd")。

       trigger_timeout (10s)
              向 Postfix 守护进程(如 pickup(8)qmgr(8))发送触发信号的超时时间。

       Postfix 2.2 及以上版本支持:

       authorized_flush_users (static:anyone)
              允许刷新邮件队列的用户列表。

       authorized_mailq_users (static:anyone)
              允许查看邮件队列的用户列表。

文件
       /var/spool/postfix 邮件队列目录

参见
       qmgr(8),队列管理器
       showq(8),邮件队列查看工具
       flush(8),快速刷新服务
       sendmail(1),Sendmail 兼容接口
       postsuper(1),特权队列操作
       postlogd(8),Postfix 日志服务
       syslogd(8),系统日志服务

参考文档
       ETRN_README,Postfix ETRN 功能指南

版权声明
       本软件需遵循 Secure Mailer 许可证条款。

历史
       postqueue 命令随 Postfix 1.1 版本引入。

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

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

                                                                  POSTQUEUE(1)