跳到主要内容
2022-11-28
4 分钟
...
教程

文章摘要

这篇博文记录了博主因不满阿里云企业邮箱的使用体验,遂在RackNerd以年付10.28美元购入VPS并部署Mailu.io电子邮局的全过程,包括解决rDNS设置、服务器被墙、主机名配置及DNS解析等关键步骤。

本来一直在用阿里云的企业邮箱,但感觉总是不太好,主要每次都需要进https://qiye.aliyun.com登录。于是趁着黑色星期五RackNerd的优惠,搞了一台 vps 来搭电子邮局(如果你想搭建,请确认服务器是否支持 rDNS 以及是否开启 25 端口)。

配置如下(年付 $10.28)

硬件配置
CPU1 核
RAM768MB
SSD10GB
流量1TB

还是比较磕碜的,不过价格在这,无所谓了。

经历

首先,我需要为 vps 开通 rDNS 记录到mx.ordchaos.com上。后台可以自主设置,很方便…

bang!

好,很好,我沉得住气。发个工单问一下:

工单截图

哦!原来如此!好的,继续交流后,rDNS 设置成功,但然而我却发现无法访问?!一番探查之后,发现这样一个事实 —— 被墙啦!

于是只得继续发工单:

终于搞定。

Mailu.io 部署

设置主机名

在 vps 的 bash 中输入:

SHELL
nano /etc/hosts

在其中具有服务器 ip 地址的一行中,将后面的内容改为(假设你的域名是example.com,服务器 ip 是88.88.88.88):

TEXT
88.88.88.88    mx.example.com   mx

编辑好后,在 vps 中执行:

SHELL
echo "mx" > /etc/hostname
hostname -F /etc/hostname

这样就设置好了主机名,可以通过hostname命令确认是否设置成功:

SHELL
hostname
hostname -f

前者只会输出mx,后者则会输出mx.example.com。如果不是,那就是设置错了。

设置 DNS 解析

去你的域名 DNS 解析服务商,设置以下 DNS 解析(假设你的域名是example.com,服务器 ip 是88.88.88.88):

主机名解析类型内容
@A(如果已有解析就不管,没有就解析到 127.0.0.1,注意不能有 CNAME 记录)
mxA88.88.88.88
@MXmx.example.com(优先级为 10)
@TXTv=spf1 mx a:mx.example.com ~all
_dmarcTXTv=DMARC1; p=reject; rua=mailto:admin@example.com; ruf=mailto:admin@example.com; adkim=s; aspf=s
example.com._report._dmarcTXTv=DMARC1

然后去 vps 服务商,设置 rDNS(或者叫做 PTR)解析,将88.88.88.88解析到mx.example.com

获取配置

访问 Mailu.io 的配置生成网页:https://setup.mailu.io

写文时最新版本为 1.9,保持不变。下方部署方式选择 Compose.

  • 1:在此处填写自己的域名

  • 2:自己起个名字(如 “序炁的电子邮局”)

  • 3:若你的域名为example.com,则在此处填写https://mx.example.com

  • 4:点击勾选

  • 1:推荐选择 rainloop,更加现代好看

  • 2:填写自己 vps 的 ip 地址

  • 3:若你的域名为example.com,则在此处填写mx.example.com

最后,你会看到如下界面:

照着界面的指示,回到 vps 执行指令:

SHELL
mkdir /mailu
cd /mailu

然后回到刚刚的页面,下载配置文件:

SHELL
wget http://setup.mailu.io/1.7/file/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/docker-compose.yaml
wget http://setup.mailu.io/1.7/file/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/mailu.env

最后执行(假设你的域名是example.com,密码设置为PASSWORD):

SHELL
docker-compose -p mailu up -d
docker-compose -p mailu exec admin flask mailu admin admin example.com PASSWORD

就安装完成了。

配置

在浏览器中访问https://mx.example.com登录您的管理员面板:

管理员面板

使用账号admin@example.com和密码PASSWORD登录即可(假设你的域名是example.com,密码设置为PASSWORD)。

然后点击左侧的 “邮件域”:

然后点击如下的按钮:

在新界面中点击 “生成密钥”,然后复制 dkim 配置:

TEXT
dkim._domainkey.example.com. 600 IN TXT "v=DKIM1; k=rsa; p=xxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

进行域名解析即可。

创建账号

邮件域 > 用户 > 添加用户,按需配置即可。

使用

退出管理员账号,访问https://mx.example.com/webmail,登录即可(选择 “登录 Webmail”)。

主页面

测试

MailTester上可以进行测试,如下是我测试结果:

很完美了,对吧(

以前没有超过 8 过

题外话

完成了很久以前的夙愿。

欢迎跟着做一遍哦!也欢迎提问!

2024.2.12 更新

用一段时间后服务器会出现 403,此时重启 docker 即可。

有关于自动重启,参考这篇文章:使用 Github Action 定时重启邮件服务

自托管 E-mail ,宝宝喜欢妈妈爱
作者
序炁
发布于
2022-11-28
更新于
2024-02-12
许可协议
BY - 署名NC - 非商业性使用SA - 相同方式共享
QQ空间微博豆瓣XFacebookLinkedIn复制链接