
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
最简单、最小巧的Docker邮件转发服务。
如果你拥有域名,只需要在该域名上设置一个(或几个)电子邮件地址,并希望将所有邮件转发到另一个电子邮件账户,那么Simple Mail Forwarder (SMF) 正是你所需要的(基于Docker)。
由于上述需求,这个Docker镜像被构建为极致简洁的解决方案。适用于需要为多个域名配置简单邮件转发,但又不想复杂配置邮件服务器的场景。
@Brian Christner : 在测试了大量不同的邮件项目后,我终于发现了Huan开发的Simple Mail Forwarder (SMF)。这个镜像基于Alpine,这已经是一个优点。它非常小巧,正如其名,易于使用。
@kiani: 成功搭建了邮件服务器,真的就这么简单。
@counterbeing: 很棒的镜像。界面非常简单,包含了我需要的所有功能。
只需设置SMF_CONFIG并运行:
bashexport SMF_CONFIG='testi@testo.com:test@test.com:test' docker run -e SMF_CONFIG -p 25:25 zixia/simple-mail-forwarder
不要忘记修改域名的DNS MX记录(在这个例子中是testo.com)
这将把发送到的所有邮件转发到。
如果你想将发送到testo.com域的所有邮件转发到***,可以这样设置:
bashexport SMF_CONFIG='@testo.com:all@test.com'
如果你想在后台持续运行,添加
-t -d --restart=always参数:bashdocker run -t -d --restart=always -e SMF_CONFIG -p 25:25 zixia/simple-mail-forwarder
-t: 分配伪终端-d: 后台模式--restart=always: 自动重启容器
SMF_CONFIG: 必须定义,无默认值。(这是唯一需要设置的参数)TZ: (可选)设置时区,例如EST5EDT或Europe/RomeSMF_CONFIG示例1. 基本用法
将发送到的所有邮件转发到:
bashexport SMF_CONFIG='testi@testo.com:test@test.com'
将发送到testo.com域中任何电子邮件地址的邮件转发到***:
bashexport SMF_CONFIG='@testo.com:all@test.com'
2. 高级用法
添加ESMTP AUTH密码:
bashexport SMF_CONFIG='from@testi.com:to@testo.com:ThisIsPassword'
3. 多账户配置
添加多个电子邮件账户,带或不带密码,用分号分隔:
bashexport SMF_CONFIG='testi@testo.com:test@test.com:ThisIsPassword;testo@testi.com:test@test.com:AnotherPassword'
你也可以将发送到***的邮件转发到多个目标地址:
bashexport SMF_CONFIG='testi@testo.com:test1@test.com|test2@test.com|test3@test.com'
SMF_RELAYHOST示例配置中继主机/智能主机用于转发邮件:
bashexport SMF_RELAYHOST='192.168.1.2'
SMF_RELAYAUTH示例如果SMF_RELAYHOST需要身份验证:
bashexport SMF_RELAYAUTH='username@relayhost.com:RelayHostPassword'
SMF启动时会创建自己的证书和私钥。此证书是自签名的,因此某些系统可能会发出服务器不受信任的警告。
如果你拥有主机域名的有效证书,可以使用它们来避免不受信任的警告:
smtp.cert的文件中,将私钥复制到名为smtp.key的文件中/data/certs/-v参数将其挂载到/etc/postfix/cert/文件夹:bashdocker run -e SMF_CONFIG -p 25:25 -v /data/certs/:/etc/postfix/cert/ zixia/simple-mail-forwarder
SMF将为$SMF_DOMAIN和SMF_CONFIG中包含的所有源域生成私钥/公钥对。所有密钥将存储在/var/db/dkim/<domain.tld>/中。
强烈建议将/var/db/dkim/文件夹挂载到主机,以免生成的密钥对丢失或重新生成:
bashdocker run -e SMF_CONFIG -p 25:25 -v $(pwd)/dkim:/var/db/dkim/ zixia/simple-mail-forwarder
当定义了SMF_SENDERPRIVACY环境变量时,SMF将剥离发件人的IP、客户端和用户代理头。
SMF允许使用环境变量添加或更改Postfix的main.cf和master.cf配置文件中的行:
SMF_POSTFIXMAIN_*变量将编辑Postfix的main.cf条目。
SMF_POSTFIXMAIN_选项名=值SMF_POSTFIXMAIN_soft_bounce=yes将添加soft_bounce=yes选项。SMF_POSTFIXMASTER_*变量将编辑Postfix的master.cf。
SMF_POSTFIXMASTER_服务__类型__参数名=值SMF_POSTFIXMASTER_submission__inet__smtpd__recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject使用BATS(Bash Automated Testing System)进行测试:
bashdocker run zixia/simple-mail-forwarder test
bashdocker run -d --name smf \n -e SMF_CONFIG='info@example.com:yourname@gmail.com' \n -p 25:25 \n --restart=always \n zixia/simple-mail-forwarder
bashdocker run -d --name smf \n -e SMF_CONFIG='@example.com:yourname@gmail.com' \n -e TZ='Asia/Shanghai' \n -p 25:25 \n -v /path/to/certs:/etc/postfix/cert \n -v /path/to/dkim:/var/db/dkim \n --restart=always \n zixia/simple-mail-forwarder
yamlversion: '3' services: smf: image: zixia/simple-mail-forwarder container_name: smf restart: always environment: - SMF_CONFIG=@example.com:yourname@gmail.com - TZ=Asia/Shanghai ports: - "25:25" volumes: - ./certs:/etc/postfix/cert - ./dkim:/var/db/dkim
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务