ERROR(8) ERROR(8)
名称
error - Postfix 错误处理/重试邮件投递代理
概述
error [通用 Postfix 守护进程选项]
描述
Postfix error(8) 投递代理用于处理来自队列管理器的投递请求。每个请求包含以下信息:
- 队列文件
- 发件人地址
- 投递失败原因(以下一跳目的地形式表示)
- 收件人信息
投递失败原因可以包含 RFC 3463 兼容的详细状态码。如未指定,则默认使用 4.0.0 或 5.0.0 状态码。
本程序需通过 master(8) 进程管理器运行。
根据 master.cf 中的服务名称配置(error 或 retry),服务器会对投递请求中的所有收件人执行退回或延迟操作,并使用"下一跳"信息作为投递失败的原因。
注意:retry 服务名称从 Postfix 2.4 版本开始支持。
投递状态报告将发送至以下相应的守护进程:
- bounce(8)
- defer(8)
- trace(8)
安全性
error(8) 邮件投递代理不涉及敏感安全操作。该程序:
- 不与网络通信
- 可在 chroot 环境中以低权限运行
标准
遵循 RFC 3463 (增强型状态码标准)
诊断
所有问题和事务都会记录到:
- syslogd(8) 或
- postlogd(8)
根据 notify_classes 参数设置,系统会将以下情况通知 postmaster:
- 退信
- 其他异常情况
配置参数
对 main.cf 的修改会被 error(8) 进程自动识别(因其运行时间有限)。
如需立即生效,请执行命令:postfix reload
以下为参数摘要,完整说明及示例请参考 postconf(5):
2bounce_notice_recipient (postmaster)
无法退回给发件人的未投递邮件的接收人。
bounce_notice_recipient (postmaster)
接收以下通知的邮箱:
- Postfix 未投递邮件的邮件头
- Postfix 未接收邮件的 SMTP 会话记录
config_directory (参见 'postconf -d' 输出)
Postfix 主配置文件的默认位置:
- main.cf
- master.cf
daemon_timeout (18000s)
Postfix 守护进程处理单个请求的最长时间(秒),超时后会被看门狗终止。
delay_logging_resolution_limit (2)
记录亚秒级延迟值时,小数点后的最大位数。
double_bounce_sender (double-bounce)
邮件系统生成的 postmaster 通知的发件人地址。
ipc_timeout (3600s)
内部通信通道收发数据的超时时间(秒)。
max_idle (100s)
Postfix 守护进程在空闲状态下等待连接的最长时间(秒),超时后自动终止。
max_use (100)
Postfix 守护进程在自动终止前可处理的最大连接数。
notify_classes (resource, software)
需要通知 postmaster 的错误类型列表。
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 (只读)
Postfix 守护进程在 master.cf 中定义的服务名称。
参见
qmgr(8) - 队列管理器
bounce(8) - 投递状态报告
discard(8) - Postfix 丢弃投递代理
postconf(5) - 配置参数详解
master(5) - 通用守护进程选项
master(8) - 进程管理器
postlogd(8) - Postfix 日志系统
syslogd(8) - 系统日志服务
授权条款
使用本软件需遵循 Secure Mailer 授权协议,该协议必须随软件一并分发。
作者
Wietse Venema
IBM T.J. Watson 研究院
邮政信箱 704
美国纽约州约克镇高地市,邮编 10598
Wietse Venema
Google 公司
纽约第八大道 111 号
美国纽约州纽约市,邮编 10011
ERROR(8)