域名邮箱部署
用自己的域名收发邮件:PMail 搭建个人邮箱推荐
想用自己域名当邮箱后缀的人越来越多,但这两年反而越来越难:QQ 邮箱、Outlook 陆续停了个人域名邮箱服务,剩下能用的要么开始收费,要么限制一堆。
绕开这些限制的办法只有一个——自己搭。问题是主流自建方案(Mailcow、Mailu 这类)组件多、吃资源,手上那台 1 核 512M 的小鸡基本跑不起来。
PMail 就是冲着这个场景做的。项目地址:https://github.com/Jinnrry/PMail。
它是什么
Go 写的一套个人域名邮箱服务,编译出来是单个二进制文件,前端后端都在里面。GPL-2.0 协议,作者 Jinnrry,目前还在活跃维护。
作者自己说得很实在:他的服务器是 1 核 512M、10G 硬盘,市面上大部分邮箱服务装完磁盘就满了,所以干脆自己写了一个。
能干什么
收发与管理
- 完整的收信、发信能力,附带一个 Web 邮件管理后台
- 支持附件、抄送、密送、发件人昵称、邮件搜索
- 自定义邮件分组(文件夹),邮件可以批量移动、删除、标记已读
- 收信规则:按发件人、主旨、内容匹配(等于 / 包含 / 正则),自动执行转发、移动到分组、标记已读、删除
- 多用户、多域名,一个后台能给不同人开不同账号,一个账号也能绑多个域名
- 账号管理支持增删用户、禁用账号、重置密码
协议与安全
- 支持 IMAP、POP3、SMTP,手机上的 Foxmail、Thunderbird 这类客户端直接能连
- 支持 SPF、DKIM 校验,配置正确的话 mail-tester 能拿到 10 分
- 垃圾邮件过滤分四档,可以按 SPF/DKIM 校验结果决定是否拦截
- 内置 ACME,自动申请并续期 Let’s Encrypt 证书
- 插件机制:官方带微信推送、垃圾邮件屏蔽,第三方还有 Telegram 推送
部署方式
- 单文件运行,也可以 Docker 一把梭
- 数据库三选一:SQLite(默认)、MySQL、PostgreSQL
部署有多简单
作者的说法是”一行代码、一分钟”,从流程上看确实不夸张。
先把程序下下来跑起来:
1 | ./pmail -p 80 |
或者用 Docker:
1 | docker run -d \ |
然后浏览器打开服务器 IP,跟着向导走六步:数据库 → 管理员密码 → 域名 → DNS 记录 → SSL 证书。
DNS 那一步挺省心,程序会直接把你域名需要加的 MX、SPF、DKIM 记录列成一张表,照着抄到域名服务商那边就行,不用自己去翻文档。SSL 证书可以选择 HTTP 或 DNS 挑战自动申请,也可以手动上传自己的证书。
部署前建议先去 spamhaus 查一下域名和 IP 有没有进黑名单,这一步能省掉后面很多莫名其妙的退信。
用第三方客户端的话,地址按这个填:
- IMAP:
imap.你的域名,端口 993(SSL) - SMTP:
smtp.你的域名,端口 25 / 465 / 587(SSL) - POP3:
pop.你的域名,端口 110 / 995(SSL)
适合谁
- 有域名、想用自己的域名收发邮件的个人
- 手上正好有小内存 VPS 的人,1 核 512M 到 1 核 1G 就够用
- 自托管玩家,喜欢把数据攥在自己手里
- 需要多域名、多账号的家庭或小团队,一个人维护、全家人用
- 被商业邮箱政策变化折腾过,不想再被动迁移的人
反过来,下面这几种情况就别折腾了:完全不想碰命令行和 DNS 配置的、需要日历和通讯录协作的、云厂商死活不给解封 25 端口的。
优点
- 部署真的简单。单文件扔上去改个配置就能跑,比那些要拉一堆容器、写 compose 的方案友好太多
- 省资源。按 README 里的数据,编译后的二进制文件 15MB,运行内存占用在 10MB 以内,小机器完全扛得住
- 证书不用管。内置 ACME,申请和续期都自动
- 有 Web 后台。收信、发信、建用户、看规则都在页面上点,不用改配置文件
- 协议齐全。IMAP、POP3、SMTP 都支持,意味着手机端可以用自己习惯的邮件 App
- 多域名多用户。想给家里人各开一个
xxx@你的域名完全没问题 - 规则和分组够用。收信自动分类、自动转发这些日常需求都能覆盖
- 有插件生态。收信推微信、推 Telegram 都有现成方案,不用自己写
缺点和要注意的坑
- 出站 25 端口是最大的门槛。PMail 发信是直连对方域名的 MX 记录,没有中继功能。阿里云、腾讯云这类厂商默认封 25 端口出站,得开工单申请解封,否则只能收信不能发信。这一点在选 VPS 之前就要确认清楚
- 反向解析(PTR)要自己配。这项得在 VPS 商家后台提工单设置,PMail 管不了。没配的话发出去的邮件很容易进垃圾箱
- 新 IP 有冷启动期。刚上手的 IP 没有信誉积累,被退信或被判垃圾是常事,要有心理准备
- DMARC 得自己加。向导只生成了 MX、SPF、DKIM 三条记录,DMARC 需要自己补一条 TXT
- 反垃圾能力有限。只有 SPF/DKIM 校验加上插件层面的关键字过滤,没有商业邮箱那种成熟的垃圾邮件引擎
- 功能比商业邮箱少。没有日历、通讯录、日程这些,Web 端就是纯粹的邮件收发和管理
- 没有官方 App。手机端靠第三方邮件客户端,体验取决于你选的客户端
- 单人维护的项目。遇到问题主要去翻 GitHub 的 Issue 和 Wiki,别指望有客服
- 运维全靠自己。备份、升级、安全加固都得自己盯着,把服务暴露在公网上,等于自己当运维
- 插件是独立进程跑在服务器上的。README 里也提醒了,第三方插件要自己审代码再用
和其他方案对比
| 对比项 | PMail | Mailcow / Mailu 这类 | 商业域名邮箱 |
|---|---|---|---|
| 资源占用 | 很低,小内存 VPS 能跑 | 组件多,配置要求高 | 不用自己维护 |
| 部署难度 | 一行命令 + 图形向导 | 需要 Docker 编排和调参 | 改几条 DNS 就行 |
| 功能完整度 | 收发 + Web 后台 + 规则 | 更全,带日历、通讯录 | 最全 |
| 数据掌控 | 完全在自己手里 | 自己手里 | 在服务商手里 |
| 主要成本 | 域名 + 便宜 VPS | 域名 + 更高配置 VPS | 免费额度有限或订阅 |
| 适合谁 | 个人、小团队 | 有运维能力的团队 | 只想用不想折腾的人 |
结语
PMail 的定位很清楚:不追求做成企业级邮件系统,只解决”个人和小团队想用自己的域名收发邮件”这一件事,而且解决得相当干脆。部署简单、资源占用小、功能该有的都有,这几点加起来,在个人自建邮箱这个方向里算是很能打的了。
当然它也不是开箱即用的东西,25 端口、PTR、DMARC 这几关绕不过去,动手之前把这些确认清楚,能少踩不少坑。
