
sumizadocker/smtp-parserSMTP Server Parser 是一个基于 Python 的 SMTP 服务器,用于检查入站邮件的各种属性(如 SPF 和 DKIM 验证),并根据配置将邮件发送到 webhook 或打印到控制台。它还支持通过附加脚本实现自定义解析或发送等高级功能。
项目地址:[]
Docker Hub 地址:[]
为保持依赖更新,每日构建新镜像并标记为 latest。若需固定版本,可使用日期、提交哈希标签,或使用 master 标签仅在代码变更时更新:
latest:每日更新及新构建时更新master:代码变更时触发更新date:每日构建版本(按日期标记)commit hash:基于 GitHub 提交哈希的构建版本beta:beta 分支的测试版本,可能不稳定,不建议生产环境使用通过以下环境变量可配置 SMTP 服务器行为,所有变量均为可选:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
HOST | 服务器绑定的 IP 地址或主机名 | 0.0.0.0 |
HOST_NAME | 服务器主机名(适用于 NAT 或非主机网络环境下无法自动获取主机名的场景) | - |
PORT | 服务器绑定端口 | 25 |
TARGET_EMAIL | 收件人过滤规则,支持逗号分隔的***列表(使用 .endswith 匹配) | - |
SOURCE_EMAIL | 发件人过滤规则,支持逗号分隔的***列表(使用 .endswith 匹配) | - |
SPF_ALLOW_LIST | 允许的 SPF 响应列表(如 pass,permerror,fail) | - |
DKIM_REJECT | 是否拒绝 DKIM 验证失败的邮件(设置任意值即启用) | - |
DKIM_MIN_KEY | DKIM 验证允许的最小密钥长度(仅遗留系统需修改) | 1024 |
IDENT | SMTP 服务器标识字符串 | 空字符串 |
EMAIL_SIZE | 最大邮件大小(字节) | 5048576 (5MB) |
LOGGER | 日志级别(DEBUG/INFO/OFF) | INFO |
WEBHOOK_URL | 接收邮件的 webhook URL(设置后启用转发) | - |
WEBHOOK_HEADERS | webhook 请求头(JSON 格式字符串,如 '{"Content-Type":"application/json"}') | - |
HMAC_SECRET | webhook 请求的 HMAC 签名密钥(设置后启用签名验证) | - |
PIP_INSTALL | 附加脚本所需的 pip 包列表(空格分隔) | - |
BUILTIN_ADDON | 内置附加脚本名称 | - |
TLS_CERT_HOST | 生成自签名证书的主机名 | - |
TLS_REQUIRED | 是否要求 TLS 加密接收邮件(需配合证书使用) | - |
默认配置下运行,绑定 0.0.0.0:25 端口:
bashdocker run -d -p 25:25 sumizadocker/smtp-parser:latest
将邮件转发至指定 webhook,启用 DEBUG 日志:
bashdocker run -d -p 25:25 \ -e WEBHOOK_URL="[***]" \ -e WEBHOOK_HEADERS='{"Authorization":"Bearer your-token","Content-Type":"application/json"}' \ -e HMAC_SECRET="your-hmac-secret" \ -e LOGGER="DEBUG" \ sumizadocker/smtp-parser:latest
仅接收发件人为 @example.com、收件人为 *** 且 SPF 验证通过的邮件:
bashdocker run -d -p 25:25 \ -e SOURCE_EMAIL="@example.com" \ -e TARGET_EMAIL="***" \ -e SPF_ALLOW_LIST="pass" \ -e DKIM_REJECT="true" \ sumizadocker/smtp-parser:latest





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务