前言:
我相信很多人都有搭建邮局的需求,但是除了直接购买邮局服务器,还是有很大一部分人是想要自己搭建自己的邮局的。今天有空就准备写一篇基于Mailserver+Roundcube搭建邮局的教程。最主要的原因还是帮助大家一点一点的提升自己,掌握更多VPS的玩法。
但在此之前,必须先泼一盆冷水。
自建邮局有以下缺陷:
配置复杂,技术门槛高: 涉及 DNS 各类记录(A, MX, SPF, DKIM, DMARC)、反向解析(PTR)、SSL 证书以及 Linux 运维知识。
维护成本高: 需要定期更新和维护服务器,防止被漏洞利用成为肉鸡。
邮件送达率不稳定: 即使你配置得当,IP 也很容易被大厂(Gmail, Outlook)拉黑,或者直接进入垃圾邮件箱。IP 预热是一个漫长的过程。
端口封锁: 绝大多数云服务商默认封锁 25 端口,需要提交工单申请解封,且审核严格。
如果这些缺点你都能接受,或者只是想单纯的学习一下邮局的搭建,那请继续的看下去吧
第一步:环境准备
在开始之前,请确保满足以下条件:
服务器(VPS): 安装了 1Panel 面板。这里可以学习我以前的文章:告别“环境污染”!Debian 服务器安装 1Panel 面板教程:专治 Docker 困难户
域名: 拥有域名的管理权限(用于修改 DNS),可以去spaceship、namecheap或者国内的阿里云、腾讯云购买。我这里是托管在了CloudFlare方便解析和安全,不同的托管平台可能配置不一样但是也是大同小异的。
购买域名教程:Spaceship域名注册优惠购买使用教程
25 端口: 确认服务器的 25 端口是开放的(使用
telnet smtp.gmail.com 25测试,如果通了就是开放的,不通请找服务商申请)。
开发25端口的商家我推荐:RackNerd、Netcup、CloudClone、BWH(搬瓦工),有一些默认没开需要申请,有一些默认开启了。RackNerd的rDNS需要工单开启、Netcup可以在服务器后台自主设置rDNS信息。
在我的传家宝监控都可以找到:传家宝VPS监控

第二步:安装 Docker Mailserver
登录 1Panel 面板。
点击侧边栏 应用商店。
搜索
Mailserver并点击 安装。

配置参数:
名称: 保持默认
mailserver。OVERRIDE_HOSTNAME: 输入你的邮件服务器主机名,例如
mail.yuhuiculture.icu(请替换为你自己的域名)。
端口: 保持默认(25, 143, 587, 993 等)。
高级设置: 建议勾选“端口外部访问”。
点击 确认 进行安装,等待容器启动显示“已启动”。

第三步:创建账户与生成 DKIM
1. 创建首个账户
点击 1Panel 侧边栏 容器,找到 mailserver 容器,点击右侧的 终端 图标进入容器命令行。

输入以下命令创建邮箱账户(将 admin@yuhuiculture.icu 和 密码 替换为你自己的):
# 语法: setup email add <邮箱地址> <密码>
setup email add admin@yuhuiculture.icu yourstrongpassword2. 生成 DKIM 密钥
继续在终端输入命令生成 DKIM 密钥:
setup config dkim生成成功后,DKIM 密钥文件位于容器内的 /tmp/docker-mailserver/opendkim/keys/ 目录下。 对应 1Panel 主机(宿主机)的路径通常为: /opt/1panel/apps/mailserver/mailserver/data/dms/config/opendkim/keys/

进入宿主机的该目录,找到 mail.txt 文件,下载或查看内容,我们需要将里面的内容导入到 DNS 解析中。这个地方的内容在后续的DNS解析里很重要,所以可以下载到本地。
第四步:配置 DNS 解析
这是最关键的一步,请登录你的域名服务商后台(如阿里云、腾讯云、Cloudflare),添加以下记录,我这里是使用Cloudflare作为演示,所以可能和你的不一样但是添加记录的方式都是一样的。
假设你的域名是 yuhuiculture.icu,邮件服务器 IP 是 154.26.209.188。
1. A 记录
将邮件服务器域名指向 IP。
记录类型: A
主机记录: mail、roundcube
记录值: 154.26.209.188
这里顺带也可以把roundcube的二级域名添加上去,后续搭建web面板使用的时候,就不需要在过来添加域名解析了,如果不喜欢roundcube也可以缓存你自己喜欢的二级域名绑定。
2. MX 记录
告诉互联网你的邮件由哪台服务器接收。
记录类型: MX
主机记录: @
记录值: mail.yuhuiculture.icu
优先级: 10
3. SPF 记录 (TXT)
授权该 IP 发送邮件,防止他人冒用。
记录类型: TXT
主机记录: @
记录值:
v=spf1 mx ~all
解释:
v=spf1版本号;mx表示授权 MX 记录对应的 IP 发信;~all表示宽容策略(软失败),如果 IP 不匹配则标记为垃圾邮件而不是直接拒收,v=spf1 mx ~all这里的IP也可以使用你服务器的IP,具体的规则需要参考文档,如果发现出现问题可以把报错信息给AI,协助你处理。
4. DKIM 记录 (TXT)
打开刚才生成的 mail.txt 文件。 手动添加 DNS 记录时注意:需合并文件内的记录值,去掉双引号和换行符,将其合并成一行长字符串。
记录类型: TXT
主机记录:
mail._domainkey(注意:如果是默认生成的,通常是mail作为选择器,请检查文件名确认)记录值:
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BA...(此处省略长串公钥)...IDAQAB

5. DMARC 记录 (TXT)
告诉接收方如何处理未通过 SPF 或 DKIM 验证的邮件。
记录类型: TXT
主机记录: _dmarc
记录值:
v=DMARC1; p=none; sp=none;
解释:
p=none表示目前只监控不拦截(适合初期调试)。稳定后可改为p=quarantine(隔离)或p=reject(拒绝)。

第五步:部署 Roundcube (Webmail 客户端)
为了方便在网页上收发邮件,我们需要部署 Roundcube,想必大家可能见过这个界面,主色调蓝白色可以很方便的收发邮件,而且很多插件配合是一个很好的邮件管理web项目。
回到 1Panel 应用商店。
搜索
Roundcube并点击 安装。配置参数:
名称:
roundcube数据库: 1Panel 会自动创建,保持默认即可。
IMAP 服务器、SMTP 服务器: 填写 Mailserver 容器的连接地址。
推荐: 填写宿主机的内网 IP 或公网 IP,例如
154.26.209.188我这里是绑定了域名,所以直接使用域名就好了。

端口: IMAP 端口:143 (非加密) 或 993 (SSL) SMTP 端口:25 (非加密) 或 587 (TLS) 端口外部访问:勾选,并在外部端口填入一个你喜欢的端口(如 8080),或者随后通过 1Panel 的“网站”功能做反向代理绑定域名(例如roundcube.yuhuiculture.icu),在前面我已经添加了roundcube面板的地址,所以我这里也直接填入域名。
如果你不想绑定域名,也可以选择开放端口,然后使用
http://IP+端口的方式访问,默认端口是8080。但是我建议配置反代,开启HTTPS保证安装防护。
额外说明
Roundcube安装的时候会让你选择数据库,如果你没有安装mysql数据库,可以在应用市场搜索mysql,然后默认选择安装,安装成功之后在点击roundcube安装,就可以选择安装的数据库了。
其实也可以使用SQLite但是1Panel的镜像默认是使用mysql的。
第六步:验证与测试
1. 登录 Roundcube的web客户端
在浏览器访问 https://roundcube.yuhuiculture.icu 我这里的地址是开启了HTTPS,如果你没有开启或者绑定域名请使用IP+端口的方式访问。
用户名: admin@yuhuiculture.icu
密码: 刚才 setup 命令设置的密码
如果能成功登录,说明 Roundcube 连接 Mailserver 成功。

2. 接收测试邮件
你可以尝试用你的 Gmail 或 QQ 邮箱给邮局发送一封邮件。
如果发送失败,请检查防火墙是否放行了 25, 143, 587 等端口,如果发送失败也有一封返回的邮件内容,根据报错优化相关的错误就好了。

3. 邮件体检
访问 Mail-Tester。
它会给你一个临时邮箱地址。
用你的 Roundcube 给这个地址发一封邮件。
点击“查看你的得分”。
目标是 10/10 分。如果分数低,它会详细列出是 DKIM 错误、SPF 错误还是缺少 PTR 记录。我这里显示只有7.7分是因为rDNS我没有去修改绑定,还有一些必要的DNS记录没有添加。因为每一个IDC厂家的rDNS修改法都不一样,所以我没有具有的记录操作。

预告
走到最后一步,也就是说明了你的邮箱搭建完成了,可以使用Roundcube去查看邮箱和发送邮箱,你自己的邮局也就搭建好了。但是如果你想要公开给别人访问或者注册还缺了一些步骤,限于篇幅原因我也就不细讲了。
后续我也会持续更新使用宝塔面板搭建邮局的教程,还有全自动的邮箱搭建脚本,不需要像现在一样这么麻烦去一步一步的设置安装组件。
有了自己的邮局也不是说就可以为所欲为了,很多服务器商家都有自己的TOS,发送垃圾邮件轻则关机警告重则删除服务器封号,所以还是要注意自己的使用。如果不想折腾也可以完全购买现成的邮箱服务,稳定而且还安全唯一缺点就是现在发送频率。
