
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
请注意,尽管提交记录较早,但本项目仍在维护中,已达到功能完善状态。最新代码可在Dockerhub(https://hub.docker.com/r/boky/postfix%EF%BC%89%E8%8E%B7%E5%8F%96%E3%80%82%E5%A6%82%E6%9C%89%E5%BB%BA%E8%AE%AE%EF%BC%8C%E6%AC%A2%E8%BF%8E%E5%85%8B%E9%9A%86%E5%B9%B6%E6%8F%90%E4%BA%A4%E5%90%88%E5%B9%B6%E8%AF%B7%E6%B1%82%E3%80%82
本镜像允许在Docker云/swarm环境中运行Postfix,以集中处理容器的外发邮件。内置的Postfix支持两种模式:直接发送邮件或中继至公司主邮件服务器。
这是一个服务器端Postfix镜像,专为应用程序外发邮件设计,不支持用户名/密码登录等客户端安全功能。若需为终端用户设置和管理Postfix,本镜像不适用;若需管理应用程序的外发邮件队列,可继续阅读。
适用于Docker环境中需要集中管理应用程序外发邮件的场景,例如:
运行容器的基本命令:
bashdocker run --rm --name postfix -p 1587:587 boky/postfix
此时可使用localhost:1587作为SMTP服务器地址发送邮件。注意:镜像默认使用提交端口(587),未暴露25端口(通常被ISP封锁或已被其他服务占用)。
配置SMTP服务器的常规注意事项同样适用,例如需确保DNS记录正确配置以避免邮件被标记为垃圾邮件。
支持以下环境变量配置:
| 环境变量 | 说明 |
|---|---|
HOSTNAME | Postfix的myhostname(服务器标识名) |
RELAYHOST | 中继邮件的目标服务器 |
RELAYHOST_USERNAME | 中继服务器的可选用户名 |
RELAYHOST_PASSWORD | 中继服务器的可选登录密码 |
MYNETWORKS | 允许访问的网络(默认:127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) |
ALLOWED_SENDER_DOMAINS | 允许的发件人域名 |
HOSTNAME
配置SMTP服务器标识的主机名。若未设置,将使用默认Docker主机名(通常为容器ID,如f73792d540a5),可能导致日志追踪困难。建议显式设置:
bashdocker run --rm --name postfix -e HOSTNAME=postfix-docker -p 1587:587 boky/postfix
RELAYHOST、RELAYHOST_USERNAME 和 RELAYHOST_PASSWORD
Postfix默认直接向目标服务器投递邮件。若处于防火墙后或企业环境中,可设置中继服务器转发邮件。
基本中继配置:
bashdocker run --rm --name postfix -e RELAYHOST=192.168.115.215 -p 1587:587 boky/postfix
指定中继端口:
bashdocker run --rm --name postfix -e RELAYHOST=192.168.115.215:587 -p 1587:587 boky/postfix
IPv6中继地址:
bashdocker run --rm --name postfix -e 'RELAYHOST=[2001:db8::1]:587' -p 1587:587 boky/postfix
带认证的中继:
bashdocker run --rm --name postfix -e RELAYHOST=mail.google.com -e RELAYHOST_USERNAME=hello@gmail.com -e RELAYHOST_PASSWORD=world -p 1587:587 boky/postfix
MYNETWORKS
默认仅允许私有IPv4网络访问,以防止意外暴露至公网导致垃圾邮件发送。如需支持IPv6或限制更严格的访问,可覆盖此设置:
bashdocker run --rm --name postfix -e "MYNETWORKS=10.1.2.0/24" -p 1587:587 boky/postfix
ALLOWED_SENDER_DOMAINS
若应用仅从特定域名发送邮件,建议限制允许的发件人域名以增强安全性:
bashdocker run --rm --name postfix -e "ALLOWED_SENDER_DOMAINS=example.com example.org" -p 1587:587 boky/postfix
如需添加自定义Postfix配置或扩展功能,可将脚本添加至/docker-init.db/目录,所有.sh扩展名的文件将在启动脚本末尾自动执行。
示例自定义Dockerfile:
dockerfileFROM boky/postfix MAINTAINER Some Randombloke "randombloke@example.com" ADD Dockerfiles/additional-config.sh /docker-init.db/
构建后,自定义脚本将在Postfix启动前自动执行。
Postfix主进程以root用户运行(符合其设计),子进程以postfix用户(UID:GID 100:101)运行。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务