宝塔 Docker 部署 Forsaken Mail 临时邮箱保姆级图文教程与避坑指南 返回设计首页
\ 耗时约8分钟 · 小白零门槛配置指南 /

宝塔面板 × Docker 容器技术
极速搭建专属 Forsaken Mail 临时邮箱

🐳 容器沙箱隔离 ⚡ 25端口冲突排错 🔒 免费SSL自动反代 📶 WebSocket毫秒推送
宝塔面板与Docker部署Forsaken Mail临时邮箱服务器架构
🚫

编译报错退避三舍

老旧Node.js源码环境缺少Python与node-gyp,频繁报红

🔒

25端口永远不通

用阿里云腾讯云搭建,发现厂商永久封锁SMTP入站

⚠️

端口冲突服务死掉

自带的 Postfix 抢占端口,Docker 怎么都起不来

海外机房高可用服务器

选对海外 VPS 是成功的 90%

临时邮箱接收外网投递必须物理开放入站 25 (SMTP) 端口。国内大厂默认永久封死 25 端口,强烈推荐选用 RackNerd、BuyVM、搬瓦工、Hetzner 等免解封的海外 VPS,告别折腾。

方案对比为什么强烈推荐 Docker 容器化?

评测指标 宿主机直接编译源码 Docker 容器极速方案
安装成功率 ✕ 极易出现底层依赖缺失报错 ✔ 100% 官方环境封装立跑
服务器清洁度 ✕ 残留上百个孤儿 npm 模块 ✔ 纯沙箱隔离,删容器即干干净净
后期迁移与重构 ✕ 换机器需重装全部 Node 编译环境 ✔ 一条命令或 Compose 5秒完成迁移
核心前提 · 避坑第一原则

没有开放「入站 25 端口 (SMTP)」的服务器,请勿继续操作!

接收全球外网投递的邮件,物理上必须依靠 25 端口。腾讯云、阿里云等国内厂商默认永久阻断入站与出站 25 端口,且不支持个人解封。

Linux安全编码与容器化部署

全自动化容器编排 · 安全省心

通过宝塔面板一键下发 Docker 运行指令,环境内部自带 Mailin 监听守护,搭配 Nginx 反向代理与 Let's Encrypt SSL 加密证书,全站自动升级安全传输。

步骤 01

配置域名 DNS 解析记录(生死攸关的一步)

★ 核心技巧:Cloudflare 必须关闭小黄云代理

假设你的主域名为 yourdomain.com,计划搭建的邮箱后缀为 @mail.yourdomain.com。前往你的 DNS 控制台添加以下两条记录:

类型 (Type) 主机名 (Name) 记录值 (Value) 优先级 (Priority) 代理状态 (Cloudflare)
A 记录 mail 你的VPS公网IP - 仅限 DNS (关闭代理)
MX 记录 mail mail.yourdomain.com 10 -
步骤 02

检查并清理 25 端口占用(排错避坑)

★ 90% 用户无法接收信件皆因 Postfix 冲突

在宝塔左侧菜单点击「终端」,输入以下命令彻底释放 25 端口:

bash - 释放25端口
# 1. 检查当前 25 端口是否被 postfix 或 master 抢占
lsof -i:25

# 2. 彻底关闭并禁用系统默认邮件服务
systemctl stop postfix
systemctl disable postfix

# 3. 再次确认端口已完全释放(无任何输出即表示完全空闲)
lsof -i:25
步骤 03

启动 Docker 容器(双方案极速拉起)

【推荐】方案 A:宝塔终端一键命令行启动

bash - Docker Run 单行拉取启动
docker run -d \
  --name forsaken-mail \
  --restart always \
  -p 25:25 \
  -p 3000:3000 \
  denghongcai/forsaken-mail

方案 B:宝塔可视化 Docker 控制台创建

📦 宝塔面板「Docker」➔「添加容器」配置参数对应表
镜像名称: denghongcai/forsaken-mail
容器名称: forsaken-mail
端口映射: 25 ➔ 25 (TCP) 与 3000 ➔ 3000 (TCP)
重启策略: always (总是重启)
步骤 04

宝塔建站、SSL 加密与 Nginx 反向代理

  1. 添加站点: 宝塔左侧「网站」➔「添加站点」,域名输入 mail.yourdomain.com,类型选择 PHP纯静态。
  2. 配置 SSL: 点击站点名 ➔「SSL」选项 ➔ 一键申请 Let's Encrypt 证书并勾选 强制 HTTPS。
  3. 设置反向代理: 点击站点名 ➔「反向代理」➔「添加反向代理」:
🌐 宝塔反向代理核心参数填写
代理名称: forsaken
目标 URL: http://127.0.0.1:3000
发送域名: $host

常见排错高频问题与实战诊断手册

问网页能顺利打开,但无论怎么发信都收不到邮件?
答
请依序进行三步彻底排查:
1. 检查 VPS 云控制台安全组: 确保入方向规则已放行 TCP 25 端口。
2. 宝塔安全防火墙: 检查宝塔系统防火墙是否放行了 25 端口。
3. 本地 Telnet 测活: 本地终端输入 telnet 你的IP 25。若无法建立连接,证明当前云厂商对该 IP 实施了物理阻断。
问页面右下角频繁闪烁并提示 WebSocket 断开连接?
答
进入宝塔该站点的反代配置文件,确保已包含升级长连接协议参数:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
若开启了 Cloudflare 代理,需在 CF 控制台的「Network」设置中开启 WebSockets 开关。