拥有 yourname@yourdomain.com 是极客的浪漫。但自建邮局是运维"深水区"——搞不好发出的邮件全进垃圾箱。

Docker Mailserver 部署

这是一个打包了 Postfix + Dovecot + Rspamd 的瑞士军刀。

# docker-compose.yml
services:
  mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    hostname: mail.yourdomain.com
    ports:
      - "25:25"      # SMTP
      - "143:143"    # IMAP
      - "587:587"    # SMTP Submission
      - "993:993"    # IMAPS
    volumes:
      - ./data:/var/mail
      - ./config:/tmp/docker-mailserver
    environment:
      - ENABLE_SPAMASSASSIN=1
      - ENABLE_CLAMAV=0
      - ENABLE_FAIL2BAN=1
      - ENABLE_POSTSCREEN=1

# 首次配置
docker compose up -d
docker exec -it mailserver setup email add user@yourdomain.com

邮件服务器必须做的四件事

  1. SPF 记录:在 DNS 中添加 TXT 记录,声明哪些服务器有权用你的域名发邮件
  2. DKIM 签名:给每封邮件加数字签名,证明没有被篡改
  3. DMARC 策略:告诉接收方如果 SPF/DKIM 失败该怎么处理
  4. PTR 反向解析:让 VPS 商家设置 IP 的反向 DNS,指向你的邮件域名

四者缺一不可。缺任何一个,Gmail/Outlook 都会把你的邮件扔进垃圾箱。

大坑预警

  • 很多 VPS 商家封了 25 端口(防止滥发垃圾邮件)——买之前确认 25 端口可用
  • 大厂(Gmail/Yahoo)新规要求自建邮件服务器有极高的发送信誉
  • 维护成本高:需要持续监控黑名单、处理退信、保持 IP 信誉

替代方案(推荐)

对于大多数用户,用第三方邮件服务绑定自己的域名更实际:

  • Zoho Mail:免费 5 用户,支持自定义域名
  • Cloudflare Email Routing:免费转发,不存储邮件
  • Microsoft 365 / Google Workspace:付费但省心

自建邮件服务器是个好项目,但如果你只是想要 yourname@yourdomain.com,上面这些方案一天搞完且不会进垃圾箱。