
wildwildangel/postfix-relaywildwildangel/postfix-relay是一个基于Alpine Linux的轻量级Postfix SMTP中继Docker镜像。该镜像未配置本地认证机制,设计用于可信网络环境,主要功能是作为中间中继节点,将内部服务发送的邮件转发至指定的外部SMTP服务器。
SMTP_PASSWORD_FILE)SMTP_NETWORKS)DEBUG环境变量启用调试模式,便于问题排查| 变量名 | 说明 |
|---|---|
SERVER_HOSTNAME | 容器的主机名 |
SMTP_SERVER | 目标SMTP服务器的地址 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
SMTP_PORT | 目标SMTP服务器端口 | 587 |
SMTP_USERNAME | 用于SMTP服务器认证的用户名。若非空,则必须同时提供SMTP_PASSWORD或SMTP_PASSWORD_FILE | - |
SMTP_PASSWORD_FILE | 存储SMTP认证密码的文件路径。入口脚本会读取该文件内容并赋值给SMTP_PASSWORD变量 | - |
SMTP_PASSWORD | SMTP认证密码 | - |
SMTP_NETWORKS | 允许通过此服务器中继邮件的网络列表(逗号分隔) | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 |
DEBUG | 设置为yes启用调试模式(执行set -x) | - |
适用于目标SMTP服务器无需认证的场景:
bashdocker run -d \ --name postfix-relay \ -e SERVER_HOSTNAME=relay.internal \ -e SMTP_SERVER=smtp.example.com \ wildwildangel/postfix-relay
当目标SMTP服务器要求认证时,需提供用户名和密码:
bashdocker run -d \ --name postfix-relay \ -e SERVER_HOSTNAME=relay.internal \ -e SMTP_SERVER=smtp.example.com \ -e SMTP_PORT=587 \ -e SMTP_USERNAME=*** \ -e SMTP_PASSWORD=your-smtp-password \ wildwildangel/postfix-relay
为避免密码明文暴露,可通过文件挂载方式提供密码:
bash# 准备密码文件(例如/path/to/smtp-password.txt,内容为密码) echo "your-smtp-password" > /path/to/smtp-password.txt docker run -d \ --name postfix-relay \ -e SERVER_HOSTNAME=relay.internal \ -e SMTP_SERVER=smtp.example.com \ -e SMTP_USERNAME=*** \ -e SMTP_PASSWORD_FILE=/run/secrets/smtp-password \ -v /path/to/smtp-password.txt:/run/secrets/smtp-password:ro \ wildwildangel/postfix-relay
SMTP_NETWORKS严格限制允许中继的网络范围,仅开放给内部可信服务SMTP_PASSWORD_FILE通过文件挂载方式提供密码,而非直接设置SMTP_PASSWORD环境变量,降低密码泄露风险



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