Expand description
§SMTP 邮件投递组件解析器
SMTP 是 Postfix 的邮件投递组件,负责:
- 通过 SMTP 协议向远程服务器投递邮件
- 处理 ESMTP 扩展和功能协商
- 管理 TLS/SSL 加密连接
- 记录详细的投递状态和性能指标
§重要统计
基于 517,428 条真实生产数据分析,SMTP 组件占 2.6% 的日志量, 是邮件投递过程中的关键组件。
§核心功能
- 邮件投递: 向目标 SMTP 服务器投递邮件
- 协议处理: 支持 SMTP/ESMTP 协议和扩展功能
- TLS 加密: 建立和管理加密连接
- 错误处理: 详细的投递失败和连接问题诊断
- 性能监控: 延迟分解和连接质量统计
§支持的事件类型
- 投递成功: 邮件成功投递,包含延迟分析
- 投递退回: 永久投递失败,生成退信
- 投递延迟: 临时投递失败,等待重试
- 连接事件: 连接建立、超时、拒绝等网络事件
- 协议交互: ESMTP 功能协商和流水线处理
- TLS 事件: SSL/TLS 连接建立和证书验证
- 调试事件: 详细的协议调试信息
§示例日志格式
# 投递成功
queue_id: to=<user@example.com>, relay=mail.example.com[1.2.3.4]:25, delay=1.2, delays=0.1/0.2/0.8/0.1, dsn=2.0.0, status=sent (250 Message accepted)
# 投递退回
queue_id: to=<user@example.com>, relay=mail.example.com[1.2.3.4]:25, delay=0.5, delays=0.1/0.1/0.2/0.1, dsn=5.1.1, status=bounced (550 User unknown)
# 连接问题
queue_id: connect to mail.example.com[1.2.3.4]:25: Connection timed out
queue_id: lost connection with mail.example.com[1.2.3.4] while sending DATA command
# TLS 事件
setting up TLS connection to mail.example.com[1.2.3.4]:25
Untrusted TLS connection established to mail.example.com[1.2.3.4]:25: TLSv1.2 with cipher AES256-GCM-SHA384
Structs§
- Smtp
Parser - SMTP投递解析器 基于517,428个真实生产数据分析,SMTP组件占2.6%的日志 解析顺序按照真实数据频率优化,所有字段详细解析