本文详细介绍了如何在服务器或NAS上使用“mail-in-a-box”项目搭建自己的域名邮箱系统。从域名邮箱的概念、所需环境(如25端口开放、Ubuntu 22.04系统)、部署步骤到DNS解析配置和SSL证书申请,作者提供了完整的操作指南,并强调了测试收发邮件的重要性及可能遇到的问题(如邮件被标记为垃圾邮件)。如果感觉配置繁琐,您可以看看之前文章Cloudflare 免费域名邮箱,支持 Catch-all 无限别名收件,Serv00免费邮局:搭建个人域名邮箱,支持SMTP和Catch-all功能。
域名邮箱是指邮箱的两个部分:用户名和域名,例如admin@qq.com,其中admin是用户名(简称id),qq.com是邮箱域名。公共邮箱的用户名自定义难度较大(因为常用的id可能已被注册),而域名通常是固定的,如qq邮箱为@qq.com,163邮箱为@163。域名邮箱则允许用户自定义两部分,只要拥有该域名,id可以自由选择。如果有多个域名,可以使用不同的后缀。例如,拥有“taimei.com”域名的用户可以创建“kunkun@taimei.com”邮箱。在注册账户时,可以使用自己的域名邮箱,若垃圾邮件过多,可以直接删除相应账户。
一、所需环境
想要正常收发邮件,首先服务器就要能使用25端口,国内一些服务商是不开放这个端口或者需要自己去申请的,但是也有少数的几个服务商是默认开放25端口。这里我就不得不说一下,国内家宽是开放25端口的,所以我标头说的nas部署,是可以这么玩,以前我就这样用的,没啥毛病。当然,既然需要25端口,还需要在防火墙/安全组上放行25端口,顺便记得放行443和80端口,不然无法登录邮局的web界面。
本次搭建电子邮局,需要使用“mail-in-a-box”这个项目,关于这个项目具体介绍,自行到github上查看,这里一句话概括,就是用来搭建自己的域名邮箱的,这个项目不那么吃性能,1g内存也能部署,而且官方就提供了一键脚本,搭建起来更是毫无难度。唯一的问题是这个项目需要ubuntu 22.04系统,其他系统都不能用脚本部署,所以如果想在nas部署,记得开个ubuntu 22.04的虚拟机。
二、部署mail-in-a-box
刚刚就说了,官方提供了脚本,这个部署就非常简单了,先到github上找到最新的版本,目前最新版本tag是“v71a”,这个要记一下,等下会用到。

登录服务器后台,输入以下命令,运行一键脚本部署:
git clone https://github.com/mail-in-a-box/mailinabox
#克隆源码
cd mailinabox
#进入目录
git checkout v71a
#切换版本,这里v71a就是最新的tag
sudo setup/start.sh
#运行安装脚本
如果你用的不是ubuntu 22.04系统,安装脚本会报错,提示你要换系统。

系统没问题就会正常开始安装,这里取决于系统具体环境,我这里系统完全还是空白的,就还需要手动设置时区信息。


之后会要求配置域名以及主机名,这里需要配置的邮箱名称就是管理名称(管理员),邮箱后缀就是你的域名,例如我这里想要“mail.mymuwu.net”域名邮箱,那我这个管理员账户可以是“admin@mail.mymuwu.net”,这个邮箱就是整个邮局的管理员。后面的主机名称就是““mail.mymuwu.net””,不要用默认的“box.xxxx”,这两个配置关系到自己的域名邮箱,考虑清楚,一旦确定就没法更改了。



之后就是等待系统更新并安装,这个步骤取决于网络情况,特别是到下载“nextcloud”,网络不行速度非常慢,需要慢慢等。最后还需要配置邮局管理员密码。



一切都没问题就会安装完成,这里一开始会自动配置ssl证书,但是会有问题,暂时忽略,终端也会显示邮局管理登录地址,因为还没有配置dns解析,先暂时先用IP登录到邮局后台。

三、添加dns记录并配置ssl
通过ip登录到邮局后台(ip后面跟上/admin),进入“system-external dns”,这里会列出你需要添加的dns解析,不用全部添加,我框出来的这些添加上就行,剩下的可添加也可以不添加,没啥影响。我说的添加dns记录是到域名服务商添加,这个应该都会吧,添加解析而已,要是不会,那就百度……..



等待解析生效后,进入到“system-tls certificates”,让系统自动申请ssl证书,然后我们就可以通过域名登录到这个web界面了。可能有细心的童鞋会发现我还添加了“mta-sts.xxx.xxx”,这个是mta-sts隐私,可选。

如果是使用云服务器,最好添加一个rdns(反向dns解析,常规是域名解析ip,这里就是反过来,ip解析域名),这样会提高邮件的可信度。

最后配置无误,可以先到“system-Status Checks”检测一下,没啥大问题都不用在意,这个检测也不是很准。

还可以去mail-tester上检测一下,看看自己能有多少评分,一般都能做到10分,这个分数低了就代表会进邮件垃圾箱。

四、收发件测试
至于添加用户我就一笔带过了,自行到user里面添加。在测试收发邮件前先查看自己邮箱登录地址(就是域名后面跟上/mail),然后登录登录。最后可以给自己qq邮箱互发邮件,看下是否能正常收发。



如果发送的邮件被丢进垃圾箱了,说明ip不行,这个比较玄学,我之前是家宽没法做rdns也不会进垃圾箱,这个看域名和ip。
原创文章,作者:kp51,如若转载,请注明出处:https://www.kepu51.com/instant-messaging/202.html