自托管 E-mail ,宝宝喜欢妈妈爱

AI摘要
加载中...
摘要由AI自动生成,仅供参考!

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

配置如下(年付$10.28)

硬件配置
CPU1
RAM768MB
SSD10GB
流量1TB

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

经历

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

bang!

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

工单截图

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

于是只得继续发工单:

终于搞定。

Mailu.io部署

设置主机名

vpsbash中输入:

1
nano /etc/hosts

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

1
88.88.88.88    mx.example.com   mx

编辑好后,在vps中执行:

1
2
echo "mx" > /etc/hostname
hostname -F /etc/hostname

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

1
2
hostname
hostname -f

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

设置DNS解析

去你的域名DNS解析服务商,设置以下DNS解析(假设你的域名是example.com,服务器ip88.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:填写自己vpsip地址

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

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

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

1
2
mkdir /mailu
cd /mailu

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

1
2
wget http://setup.mailu.io/1.7/file/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/docker-compose.yml
wget http://setup.mailu.io/1.7/file/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/mailu.env

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

1
2
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配置:

1
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 ,宝宝喜欢妈妈爱
https://www.ordchaos.com/posts/3b90dbec/
作者
序炁
发布于
20221128
更新于
2024212
许可协议