如何理解postfix的邮件传输过程?

Postfix

1 前言

一个问题,一篇文章,一出故事。
由于笔者生产环境有使用PostFix,于是笔者需要熟悉PostFix的日志,以便发现邮件传输的异常。
如果你需要了解PostFix的部署,请参阅如下章节,

如何设置Postfix直出因特网中继?

2 最佳实践

2.1 守护进程的作用

– 守护进程“postfix/smtpd”负责接收网络连接请求并在其上执行零个或多个SMTP事务,收到的消息通过cleanup守护进程进行管道传输
– 守护进程“postfix/cleanup”负责处理入站邮件,将入站邮件插入邮件队列并通知队列管理器
– 守护进程“postfix/qmgr”负责等待传入邮件到达并安排它通过Postfix的投递进程进行投递
– 守护进程“postfix/smtp”负责处理来自队列管理器的邮件并投递,投递完成后在消息队列中标记完成

2.2 日志分析实例

Jan 26 08:00:30 postfix01 postfix/smtpd[2178495]: 6ECC116002E: client=client.cmdschool.org[192.168.0.70]
Jan 26 08:00:30 postfix01 postfix/cleanup[2178498]: 6ECC116002E: message-id=<202401260000.40P00VB5023086@client.cmdschool.org>
Jan 26 08:00:30 postfix01 postfix/qmgr[2090619]: 6ECC116002E: from=<root@client.cmdschool.org>, size=1198, nrcpt=1 (queue active)
Jan 26 08:00:30 postfix01 postfix/smtp[2178501]: 6ECC116002E: enabling PIX workarounds: disable_esmtp for smtp.example.com[51.10.13.0]:25
Jan 26 08:00:33 postfix01 postfix/smtp[2178501]: 6ECC116002E: to=<will@cmdschool.org>, relay=smtp.example.com[51.10.13.0]:25, delay=2.8, delays=0.01/0/0.34/2.4, dsn=2.6.0, status=sent (250 2.6.0 <202401260000.40P00VB5023086@client.cmdschool.org> [InternalId=114074331381877, Hostname=smtp.example.com] 9733 bytes in 0.138, 68.575 KB/sec Queued mail for delivery)
Jan 26 08:00:33 postfix01 postfix/qmgr[2090619]: 6ECC116002E: removed

详细的日志解析如下,
日志1,postfix的smtpd守护进程接收到来自客户端client.cmdschool.org的邮件
日志2,postfix的cleanup守护进程将smtpd接收到的入站邮件插入邮件队列(管道)中
日志3,postfix的qmgr守护进程打印日志该日志表明来自“root@client.cmdschool.org”的进入邮件队列并处于活动状态
日志4,postfix的smtp守护进程通过与“smtp.example.com:25”协商禁用ESMTP然后使用SMTP方式传输(无密码)
日志5,postfix的smtp守护进程与“smtp.example.com:25”完成传输并返回状态(9733 bytes in 0.138, 68.575 KB/sec)
日志6,postfix的qmgr守护进程将投递邮件从队列中删除

参阅文档
================

守护进程部分文档
————————
https://www.postfix.org/postfix-manuals.html

具体的守护进程介绍文档
———————–
https://www.postfix.org/smtpd.8.html
https://www.postfix.org/cleanup.8.html
https://www.postfix.org/qmgr.8.html
https://www.postfix.org/smtp.8.html

没有评论

发表回复

Postfix
如何指定PostFix的默认下一跳地址?

1 前言 一个问题,一篇文章,一出故事。 笔者想要指定邮件的默认下一跳地址,以便邮件可以被送到特定的 …

Postfix
如何实现监视PostFix的延迟邮件警告?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中有一套PostFix集群,最近经历了一次邮件延迟 …

Postfix
如何优化PostFix?

1 前言 一个问题,一篇文章,一出故事。 笔者最近生产服务器遇到队列问题,因此需要通过优化PostF …