QMQPD(8) QMQPD(8)
名称
qmqpd - Postfix QMQP 服务器
概述
qmqpd [通用 Postfix 守护进程选项]
描述
Postfix QMQP 服务器每个连接仅接收一条消息。每条消息都会通过 cleanup(8) 守护进程进行处理,
并以单个队列文件的形式存入 incoming 队列。该程序需通过 master(8) 进程管理器运行。
QMQP 服务器实施以下访问策略:仅允许经过明确授权的客户端主机使用该服务。
安全性
QMQP 服务器具有中等安全敏感性。它会与 QMQP 客户端和网络上的 DNS 服务器通信。
该服务器可以运行在 chroot 环境中,并以固定的低权限运行。
诊断
问题和事务会记录到 syslogd(8) 或 postlogd(8)。
已知问题
QMQP 协议仅针对每次消息投递提供一个服务器响应,因此无法单独拒绝个别收件人。
QMQP 协议要求服务器必须接收完整消息后才能响应。如果消息格式错误,
或任何 netstring 组件长度超出限制,Postfix 会立即响应并关闭连接。
客户端需要自行处理这种情况。
配置参数
由于 qmqpd(8) 进程的运行时间有限,对 main.cf 的更改会自动生效。
使用 "postfix reload" 命令可加速配置更新。
下文仅提供参数摘要,更多详细信息(包括示例)请参阅 postconf(5)。
内容检查控制
content_filter (空)
消息入队后,将完整消息发送至指定的 transport:destination。
receive_override_options (空)
启用或禁用收件人验证、内置内容过滤或地址映射功能。
SMTPUTF8 控制
Postfix 3.0 开始提供对 SMTPUTF8 的初步支持。
smtputf8_enable (是)
为 RFC 6531、RFC 6532 和 RFC 6533 描述的协议启用 SMTPUTF8 初步支持。
smtputf8_autodetect_classes (sendmail, verify)
检测指定邮件来源类别的消息是否需要 SMTPUTF8 支持。
Postfix 3.2 及以上版本可用:
enable_idna2003_compatibility (否)
在 UTF-8 域名与 DNS 查询使用的 ASCII 格式相互转换时,
启用 IDNA2003 和 IDNA2008 之间的"过渡性"兼容。
资源与速率控制
line_length_limit (2048)
输入时将长行分割为此长度的片段;投递时重新组合长行。
hopcount_limit (50)
主消息头中允许的 Received: 消息头的最大数量。
message_size_limit (10240000)
消息的最大字节数(包括信封信息)。
qmqpd_timeout (300秒)
网络通信的发送或接收超时限制。
故障排查控制
debug_peer_level (2)
当下一跳目的地、远程客户端或服务器名称/地址匹配 debug_peer_list 参数指定的模式时,
详细日志级别将增加此数值。
debug_peer_list (空)
可指定下一跳目的地、远程客户端或服务器名称/地址模式列表,
匹配时将详细日志级别增加 $debug_peer_level 指定的数值。
soft_bounce (否)
安全机制,保留本应退回给发件人的邮件。
延迟控制
qmqpd_error_delay (1秒)
Postfix QMQP 服务器向远程 QMQP 客户端发送错误响应前的延迟时间。
杂项控制
config_directory (参见 'postconf -d' 输出)
Postfix main.cf 和 master.cf 配置文件的默认位置。
daemon_timeout (18000秒)
Postfix 守护进程处理请求的最大时长,超时将被内置看门狗终止。
ipc_timeout (3600秒)
内部通信通道的发送或接收超时限制。
max_idle (100秒)
空闲 Postfix 守护进程在自动终止前等待新连接的最长时间。
max_use (100)
Postfix 守护进程自动终止前可处理的最大连接数。
process_id (只读)
Postfix 命令或守护进程的进程 ID。
process_name (只读)
Postfix 命令或守护进程的进程名称。
qmqpd_authorized_clients (空)
允许连接 Postfix QMQP 服务器端口的远程 QMQP 客户端列表。
queue_directory (参见 'postconf -d' 输出)
Postfix 顶级队列目录的位置。
syslog_facility (mail)
Postfix 日志的 syslog 设施。
syslog_name (参见 'postconf -d' 输出)
预置在 syslog 记录中进程名称前的字符串,
例如 "smtpd" 会变为 "prefix/smtpd"。
verp_delimiter_filter (-=+)
Postfix 在 sendmail(1) 命令行和 SMTP 命令中接受的 VERP 分隔符字符。
Postfix 2.5 及以上版本可用:
qmqpd_client_port_logging (否)
除主机名和 IP 地址外,额外记录远程 QMQP 客户端端口号。
Postfix 3.3 及以上版本可用:
service_name (只读)
Postfix 守护进程在 master.cf 中的服务名称。
参见
https://cr.yp.to/proto/qmqp.html, QMQP 协议
cleanup(8), 消息规范化
master(8), 进程管理器
postlogd(8), Postfix 日志记录
syslogd(8), 系统日志记录
自述文件
QMQP_README, Postfix ezmlm-idx 使用指南。
许可
本软件必须随附 Secure Mailer 许可证。
历史
qmqpd 服务随 Postfix 1.1 版本引入。
作者
Wietse Venema
IBM T.J. Watson 研究中心
邮政信箱 704
约克镇高地,NY 10598,美国
Wietse Venema
Google 公司
纽约第八大道 111 号
NY 10011,美国
QMQPD(8)