极空间 NAS 搭建「post.io」自建邮箱,含互联网收发保姆级教程
有的时候想要注册账号或者发送一些邮件,又不想暴露自己的真实邮件。这个时候就可以通过 NAS 自建一套邮件系统来满足。
说到自建邮件服务器,很多人都会一个头两个大。因为自千禧年互联网蓬勃生长以来,海量的垃圾邮件就像是牛皮藓一样黏在网络的身上,怎么甩都甩不掉。这也就影响到普通用户搭建邮件服务器的渠道,一是端口被严格把控,二是备案和不可信认证也让邮件频频被列入垃圾箱。
但是,难度虽然大,却不代表无法完成。今天,我们一起来看看如何搭建局域网内的邮件服务器,并且深入的了解下映射到互联网端该如何操作。
局域网自建邮件的使用场景:
1、NAS 搭建了监控面板,又不想用自己邮箱接受,可以通过自建邮箱专属账号接受。
2、有些需要发送邮件的场合/注册账号的场合。
搭建poste.io
邮箱管理系统教程现在开始!
⭐部署机:
本次教程使用极空间私有云Z423 部署,极空间Z423 搭载了AMD 5 5625U处理器,拥有6核12线程的超强性能,最大可扩展至64 G内存。
支持4个3.5/2.5寸机械盘,2个 M.2 Nvme 2280 固态盘,拥有双2.5Gbps网口、USB Gen 3.2 Type-C 、USB Gen 3.2 Type-A x 2,扩展能力丰富。
一、极空间部署poste.io
部署 poste.io ,推荐使用docker-compose来部署,极空间原生Docker 应用支持docker compose一键部署。
我们只需要配置名称、路径,然后将下方的yaml代码复制进去就可以了。

🔻yaml文件,需要替换下方的【路径】为极空间真实文件夹地址
services:
poste.io:
ports:
- 8443:443
- 25:25
- 110:110
- 143:143
- 465:465
- 587:587
- 993:993
- 995:995
- 4190:4190
environment:
- TZ=Asia/Shanghai
- DISABLE_CLAMAV=TRUE
- DISABLE_RSPAMD=TRUE
volumes:
- /路径/mail:/data
privileged: true
container_name: mailserver
hostname: 你的域名
restart: always
image: analogic/poste.io
真实路径的查询方法也很简单。点击黑框上方查询路径,在日常使用目录下新建一个poste
路径,并且点击复制路径。

项目部署完成以后,点击poste.io
的容器页面,点击远程访问就可以使用官方的转发服务打开docker webui。

如果是像当前的HTTPS服务,会提示400 Bad Request的。这个时候点击上方的配置远程访问。

将地址栏里的http
协议修改为https
保存就行了。后续就会统一使用https打开webui。

初次使用,添加一个管理员账号密码,上方的Mailserver hostname尽量填写实际域名。

在Email Accounts里,我们可以根据企业需要,为不同的企业员工配置各自的专属邮箱。

在局域网内部,邮件的发送是畅通无阻的。我测试给test
账号发送了一个邮件。

在test
邮件下接受正常。

二、互联网配置方法
当然,仅仅是局域网内发送邮件可能不一定能满足很多人的需求。所以我们还可以将poste.io的服务扩展到互联网端,实现互联网端的邮件发送和接受。
1️⃣发送邮件的前提:
🔶公网出口没有限制25端口(我的家宽就没限制);
2️⃣接受邮件的前提:
🔶公网有80端口,可以申请 LS 的SSL证书;
🔶公网IP和域名唯一绑定,并且由运营商配置PTR记录,可以由IP反向追踪到域名;
这2点都可以通过 VPS 备案来实现,然后通过端口转发来实现。
测试方法: nslookup ip 下面是失败的案例

1、公网接受邮件配置
▶️第一步:在DNS服务商里,增加解析地址,假设你的主域名是A.COM
,邮件域名是mail.A.com
。
按下面的方式以此添加解析内容。
mail ---> 添加A解析 ----> 你的公网IPv4地址 = 即 mail.A.com 指向 IP
pop ---> 添加cname解析 ----> 你的邮箱域名 = 即 pop.A.com 指向 mail.A.com
imap ---> 添加cname解析 ----> 你的邮箱域名 = 即 imap.A.com 指向 mail.A.com
smtp ---> 添加cname解析 ----> 你的邮箱域名 = 即 smtp.A.com 指向 mail.A.com
@ ----> 添加MX解析 ----> 你的邮箱域名,优先级改成10 = 即 A.com 邮件服务器指向 mail.A.com
🔻我设置的参考图

▶️第二步:回到 poste.io,选择System Settings —— TLS certificate —— issue free LS certificate。

参考图片,上方填写mail.A.com
的邮件主域名,下方填写pop/smtp/imap.A.com
的三个域名,然后申请SSL证书。如果公网IP 有80端口开放的,那么可以正常申请,否则会提示失败。

需要注意的是,如果使用了nginx等服务占用80/443端口的,那么你需要先创建一个poste-data
的docker volume
。然后分别映射到nginx和poste.io里,这样 LS 会将返回结果回到容器卷内,否则也会导致失败。
▶️第三步:需要在DNS解析商处增加SPF/DMARC/DKIM/
三个解析。
DMARC、DKIM 和 SPF 是三种电子邮件验证方法。 它们共同帮助防止垃圾邮件发信者、网络钓鱼者和其他未经授权的各方代表他们不拥有的域传送电子邮件。

1️⃣首先是SPF
@ ----> 添加TXT解析 ----> v=spf1 mx ~all
# SPF记录,即声明SPF版本是1,所有mx记录指向mail.A.com发送邮件, ~all表示 其他所有服务器发送的邮件都应该被视为软失败
2️⃣其次是DMARC
最后的reports@A.com
是任意邮箱,但是你必须在poste.io中创建对应的账号。
_dmarc ----> 添加TXT解析 ----> v=DMARC1; p=none; rua=mailto:reports@A.com
3️⃣最后是DKIM
打开poste.io的 Virtual domans,选择虚拟域进入。

选择DKIM key,点击蓝色的创建密钥按钮。

红色部分的s20250729898._domainkey
是参数;蓝色部分k=rsa; p=XXXXXXXXX
是值。

s20250729898._domainkey ----> 添加TXT解析 ----> k=rsa; p=XXXXXXXXX
另外,我们可以在www.mail-tester.com
来测试我们的邮件服务的配置是否正确,给系统提供的临时邮箱发一封邮件,就可以对域名进行打分,并且根据下方的结果优化和完善配置。

2、公网发送邮件配置
公网发送邮件,其实刚才已经说过了。只要出站的25没有被运营商关闭,那么就可以顺利发送邮件的。
我这里尝试给QQ邮件发送了3份测试邮件,第一份正常接受,第二份、第三份则被识别进了垃圾邮件,原因大概率也是动态IP变动,以及SSL的问题。

那么,如果我们没有 公网的25端口出站怎么办呢?也可以通过Resend服务来进行邮件转发。

首先创建resend的账号,然后创建一个API KEY。

接着,来到Domains选项,添加我们的邮箱域名,并创建。

随后,resend会提供3个TXT解析和一个MX解析,我们按照前面介绍的阿里云解析步骤,分别添加到对应的域名下去。

🔻4个解析的对应参考

完成以后,在resend页面里进行验证,如果校验通过了,那么就会全部显示为绿色。

最后,回到邮件服务器里,打开SMTP转发,然后填写resend的信息即可。

总结
这篇文章说实话,公网这部分花费了我不少时间。因为用的是普通家宽,动态ip、rDNS都有问题,导致邮件测试来来回回好几天都不正常。后来尝试用VPS反代,并且将 LS 证书那会本地才正常。
不过部署内网邮件,一方面是本身搭建的 NAS 性能监控面板预警通知使用,将这些推送邮件集中管理,不污染我自己的真实邮箱;另一方面就是为使用极空间的工作室、小企业提供一个方案,可以进行内部沟通、服务预警。
延伸阅读:
极空间 NAS 搭建「post.io」自建邮箱,含互联网收发保姆级教程
有的时候想要注册账号或者发送一些邮件,又不想暴露自己的真实邮件。这个时候就可以通过 NAS 自建一套邮件系统来满足。说到...
休闲|NAS系统,我为什么选 Unraid?
上次我们聊了选购NAS前的三个关键问题,说清楚了选不选、怎么选。今天我们进入实战篇,聊聊我这些年折腾NAS的经历,以及为...
群晖7.2部署私有化本地gitlab完整教程(2025)
怎么在群晖NAS的7.2系统上安装一个完全由自己掌控的GitLab服务(就是代码托管平台),并且所有数据都保存在本地,不...
榨干NAS性能,海量游戏一键开服,高性能铁威马NAS充当游戏服务器
前几天,我在办公室午休时间玩《帕鲁》,部分男同事调侃道,“牛马更比牛马狠”,“你不能和帕鲁感同身受一下吗?“气得我大喊,...
昔映NAS – 家庭私人NAS云存储新选择
昔映OS详细介绍1.功能特点数据安全与隐私保护:采用加密技术,确保数据在传输和存储过程中的安全性,防止数据被窃取或泄露。...