。
此镜像支持以下架构:
如需关注此项目的开发进展,请查看我的博客。
此镜像采用语义化版本控制。所有支持的架构均提供以下版本标签:
此外,amd64架构还提供以下标签:
注意事项
克隆此仓库后执行:
cd docker-Postfix sudo docker build -t juanluisbaptiste/postfix .
或者使用提供的docker-compose文件:
sudo docker-compose build
有关使用多个compose文件的更多信息参见此处。您也可以从Docker Hub获取预构建的Docker镜像,可通过以下命令拉取:
sudo docker pull juanluisbaptiste/postfix:latest
需向容器传递以下环境变量:
SMTP_SERVER:要使用的SMTP服务器地址。SMTP_PORT(可选,默认值:587):要使用的SMTP服务器端口。SMTP_USERNAME(可选):用于认证的用户名。SMTP_PASSWORD(若SMTP_USERNAME已设置则为必填):SMTP用户的密码。若设置了SMTP_PASSWORD_FILE,则不需要此变量。SERVER_HOSTNAME:Postfix容器的服务器主机名。邮件将显示为来自该主机名的域名。以下环境变量为可选:
SMTP_HEADER_TAG:为上游跟踪消息添加头信息。有助于垃圾邮件过滤器。将在邮件头中显示为“RelayTag: ${SMTP_HEADER_TAG}”。
SMTP_NETWORKS:允许添加额外的、逗号分隔的子网以使用中继。使用方式如:-e SMTP_NETWORKS='xxx.xxx.xxx.xxx/xx,xxx.xxx.xxx.xxx/xx'。
注意:此选项仅在容器使用Docker的host模式(无网络隔离)运行时有效,以便容器能与Docker主机的网络交互。这意味着您将在网络中运行一个无认证的SMTP中继。请谨慎使用此选项,未来可能会移除。
SMTP_PASSWORD_FILE:设置为包含密码的挂载文件路径,以避免在环境变量中暴露密码。使用方式如:-e SMTP_PASSWORD_FILE=/secrets/smtp_password -v $(pwd)/secrets/:/secrets/
SMTP_USERNAME_FILE:设置为包含用户名的挂载文件路径,以避免在环境变量中暴露用户名。使用方式如:-e SMTP_USERNAME_FILE=/secrets/smtp_username -v $(pwd)/secrets/:/secrets/
ALWAYS_ADD_MISSING_HEADERS:与Postfix的always_add_missing_headers选项相关(默认:no)。若设置为yes,Postfix将始终添加From:、To:、Date:或Message-ID:中缺失的头信息。
OVERWRITE_FROM:重写所有中继邮件的发件人地址。示例设置:OVERWRITE_FROM=*** 或 OVERWRITE_FROM="Your Name" <***>
DESTINATION:定义将接受传入消息的域名列表。
LOG_SUBJECT:在日志中输出消息的主题行。
SMTPUTF8_ENABLE:启用(默认)或禁用SMTPUTF8支持。有效值为no(禁用)和yes(启用)。不设置此变量将使用Postfix默认值yes。
MESSAGE_SIZE_LIMIT:更改默认的***字节(10MB)限制。
要从任何位置使用此容器,需将25端口或SMTP_PORT指定的端口暴露给Docker主机服务器:
docker run -d --name postfix -p "25:25" \ -e SMTP_SERVER=smtp.bar.com \ -e SMTP_USERNAME=*** \ -e SMTP_PASSWORD=XXXXXXXX \ -e SERVER_HOSTNAME=helpdesk.mycompany.com \ juanluisbaptiste/postfix
若要从其他Docker容器使用此容器,最好仅发布端口:
docker run -d --name postfix -P \ -e SMTP_SERVER=smtp.bar.com \ -e SMTP_USERNAME=*** \ -e SMTP_PASSWORD=XXXXXXXX \ -e SERVER_HOSTNAME=helpdesk.mycompany.com \ juanluisbaptiste/postfix
或者,您可以使用提供的docker-compose文件启动服务:
sudo docker-compose up -d
要实时查看邮件日志:
docker logs -f postfix
Gmail默认不允许不使用OAUTH 2的邮件客户端(如Thunderbird或Outlook)进行认证。首先,您需要在Google设置中启用“不太安全的应用”访问。
同时请注意,邮件的From:头将包含用于通过Gmail SMTP服务器认证的账户***地址(SMTP_USERNAME),除非您将其添加为别名,否则邮件中的发件人地址将被Gmail忽略。
如需排查容器问题,可设置环境变量_DEBUG=yes_以获取更详细的输出。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429