Poste.io 邮件服务器完全指南

一、项目简介

Poste.io 是一个基于 Docker 的一体化邮件服务器解决方案,将 Postfix、Dovecot、SOGo WebMail、SpamAssassin、ClamAV 等核心组件全部打包进单一容器,无需繁琐配置,开箱即用。适合个人、小团队或企业快速搭建自托管邮件服务。

单容器部署,无需额外安装 IMAP/POP3 服务器,一条 Docker 命令即可启动完整邮件服务。

二、内置组件

组件 版本 / 类型 功能说明
Postfix MTA SMTP 邮件发送与中继
Dovecot IMAP/POP3 客户端收信协议服务
SOGo WebMail 网页版邮箱 + 日历 + 通讯录
SpamAssassin 反垃圾 邮件评分过滤
ClamAV 杀毒 邮件病毒扫描
Rspamd 过滤器 高性能邮件过滤
Let's Encrypt SSL 自动申请续期证书

三、核心功能介绍

3.1 邮件收发

  • SMTP(25/587 端口):接收外部邮件、支持客户端认证发信
  • IMAP(993 端口):邮件实时同步,多设备共享邮箱状态
  • POP3(995 端口):传统收信协议,下载到本地
  • 多域名支持:可同时托管多个域名的邮箱(免费版限 2 个)

别名与转发:设置邮件别名、转发规则、通讯组列表自动回复:Out-of-office 假期自动回复 3.2 安全特性 TLS/SSL:自动申请 Let's Encrypt 证书,全程加密传输 SMTP AUTH:用户名密码认证,防止开放中继 SPF / DKIM / DMARC:防伪造域名,提升投递可信度 SpamAssassin:评分式垃圾邮件过滤 ClamAV:实时病毒扫描,拦截恶意附件暴力破解防护:登录失败限流,自动封禁 IP3.3 Web 界面 SOGo Webmail:功能完整的网页邮箱客户端管理后台:可视化管理域名、邮箱账户、别名、黑白名单日历(CalDAV):支持 iOS/Android/Outlook 日历同步通讯录(CardDAV):联系人跨设备同步 ActiveSync:移动设备邮件推送同步(付费功能)3.4 监控与日志实时邮件队列状态监控收发日志查询(含发件时间、目标服务器、结果状态)流量统计报表(日 / 周 / 月)磁盘 / 队列异常告警通知

四、快速搭建(Docker 部署)

4.1 前置要求

  • 已安装 Docker(版本 >= 20.x)
  • 服务器拥有公网 IP
  • 域名已解析 MX 记录指向该服务器
  • 开放端口:25、80、443、587、993、995、4190

4.2 最小化部署(HTTP 模式)

docker run -d \
  --name=mailserver \
  -p 25:25 \
  -p 587:587 \
  -p 993:993 \
  -p 995:995 \
  -p 80:80 \
  -v /opt/mailserver:/data \
  -e "HTTPS=OFF" \
  analogic/poste.io

4.3 完整部署(HTTPS + 自动证书)

docker run -d \
  --name=mailserver \
  --restart=always \
  -p 25:25 \
  -p 80:80 \
  -p 443:443 \
  -p 587:587 \
  -p 993:993 \
  -p 995:995 \
  -p 4190:4190 \
  -h mail.example.com \
  -e "HTTPS=AUTO" \
  -v /opt/mailserver:/data \
  analogic/poste.io

说明:-h mail.example.com 设置容器主机名,必须与 MX 记录指向的域名一致,否则 SSL 证书申请会失败。

4.4 使用 docker-compose 部署

version: "3"
services:
  mailserver:
    image: analogic/poste.io
    container_name: mailserver
    restart: always
    hostname: mail.example.com
    environment:
      - HTTPS=AUTO
    ports:
      - "25:25"
      - "80:80"
      - "443:443"
      - "587:587"
      - "993:993"
      - "995:995"
      - "4190:4190"
    volumes:
      - /opt/mailserver:/data

五、配置方式

5.1 环境变量说明

变量名 默认值 说明
HTTPS AUTO SSL 模式:AUTO(自动 Let's Encrypt)/ OFF(禁用)/ CUSTOM(自定义证书)
DISABLE_CLAMAV false 设为 true 可禁用 ClamAV 节省内存(至少需要 2GB RAM)
DISABLE_RSPAMD false 设为 true 可禁用 Rspamd
SMTP_ONLY false 设为 true 仅启动 SMTP,适合邮件中继场景
ADMIN_ALIAS admin 管理员邮箱别名前缀

5.2 管理后台配置步骤

  1. 浏览器访问 https://mail.example.com/admin
  2. 使用初始账号 admin@your-server-hostname 登录(首次登录设置密码)
  3. 进入 Virtual Domains → 添加你的邮件域名(如 example.com
  4. 进入 Email Accounts → 创建邮箱账户
  5. 进入 Email Aliases → 配置别名和转发规则
  6. 进入 TLS Settings → 验证 SSL 证书状态

5.3 端口说明

端口 协议 用途
25 SMTP 接收外部服务器邮件(必须对外开放)
80 HTTP Let's Encrypt 证书申请验证
443 HTTPS Web 管理界面 + SOGo Webmail
587 SMTP Submission 客户端认证发件(Outlook/Thunderbird)
993 IMAPS 加密收件(推荐客户端使用)
995 POP3S 加密 POP3 收件
4190 ManageSieve Sieve 邮件过滤脚本管理

六、DNS 配置

DNS 配置是邮件服务器正常运转的关键,缺少以下记录会导致邮件被拒收或标记为垃圾邮件。

6.1 必须配置的 DNS 记录

; A 记录 — 邮件服务器域名指向公网 IP
mail.example.com.    IN  A      123.45.67.89

; MX 记录 — 域名邮件服务器指向
example.com.         IN  MX  10  mail.example.com.

; SPF 记录 — 声明允许发信的 IP(防伪造)
example.com.         IN  TXT    "v=spf1 mx ~all"

; PTR 记录 — IP 反向解析(需在 VPS 服务商后台设置)
89.67.45.123.in-addr.arpa.  IN  PTR  mail.example.com.

6.2 DKIM 配置(强烈推荐)

DKIM 记录可在 Poste.io 管理后台自动生成:

  1. 登录管理后台 → Virtual Domains → 选择域名
  2. 点击 DKIM Keys → 生成新密钥
  3. 将界面显示的 TXT 记录值添加到 DNS
; DKIM 记录(selector 由系统生成,如 s20240101)
s20240101._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."

6.3 DMARC 配置(推荐)

; DMARC 记录 — 定义伪造邮件处理策略
_dmarc.example.com.  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

重要提示:25 端口在大多数国内云服务商默认封锁,需要提交工单申请解封。若使用腾讯云 / 阿里云,建议先确认 25 端口策略。

七、免费版 vs 付费版对比

功能 免费版 付费版
域名数量 最多 2 个 无限制
邮箱数量 无限制 无限制
ActiveSync
全文搜索
高级反垃圾配置
技术支持 社区 官方

八、注意事项

  • 内存要求:推荐至少 2GB RAM(ClamAV 单独占用约 500MB);资源有限时设 DISABLE_CLAMAV=true
  • 反向 DNS:公网 IP 需配置 PTR 记录(rDNS),否则邮件极易被 Gmail/Outlook 拒绝
  • 25 端口:国内云厂商(阿里云、腾讯云等)默认封锁,需提交工单申请开放
  • 数据备份:所有数据存储在 /data 目录,定期备份该目录即可
  • 版本更新:执行 docker pull analogic/poste.io + 重启容器即可升级
  • IP 信誉:新 IP 发出的邮件初期可能被误判,建议通过 mail-tester.com 检测评分