引言
mailu是一个运行在docker上的免费邮件服务器,易于安装,易于使用且易于维护。如果你想在Linux 上快速搭建邮箱服务器,mailu是一个不错的选择。
一、安装docker和docker-compose
相对简单,自行安装即可,可以看cicd专栏-kubeadm部署k8s中一键部署docker脚本。
二、Mailu配置获取
官方自动生成docker-compose.yaml文件。打开网站:Mailu setup
1.选择版本部署,这里直接选稳定版部署
2.设置路径与域名信息
3.选择网页邮箱的面板。这里可以选择Roundcube和Rainloop, 您可以根据个人偏好来选择,我这里选择Rainloop,Rainloop支持中文显示。下面的三个选项分别是杀毒、WebDAV、邮件代收,您可以根据自己的需要来勾选。服务器配置较低,不建议勾选杀毒服务,也就是第一个。配置很低,可以都不选择。
4.生成docker-compose配置文件
三、部署
参考链接:https://mailu.io/2.0/maintain.html
创建目录
mkdir /mailu
进入目录下载配置文件
cd /mailu
wget https://setup.mailu.io/2024.06/file/5837bbb1-92e6-49b7-be78-eb34396f59d8/docker-compose.yml
wget https://setup.mailu.io/2024.06/file/5837bbb1-92e6-49b7-be78-eb34396f59d8/mailu.env
启动
cd /mailu
docker compose -p mailu up -d
创建账号和用户名
docker compose -p mailu exec admin flask mailu admin admin cherry.com PASSWORD
四、Mailu的email相关配置
1.登录
上面设置的admin账户,所有邮箱账户为admin@cherry.com,密码为PASSWORD,选择登录admin即可,以为还需要一些配置。webmail为网页版邮箱。
2.查看DNS及生成密钥
3.生成密钥
4.将生成信息在腾讯云上做dns解析
五、测试
六、故障排查
这里有个小坑,国内的阿里云服务器/腾讯云服务器,出网端口25都把你给锁了,25端口不让你玩~一边凉快去~。所以当我们部署完成之后,我们自建的邮件服务只能接收邮件,不能发送邮件。
1.查看docker日志
root@VM-1-168-ubuntu:/mailu# docker logs -f mailu-smtp-1
...
Mar 23 11:18:07 VM_175_210_centos postfix/pickup[28551]: 6F8A174556: uid=0 from=<root>
Mar 23 11:18:07 VM_175_210_centos postfix/cleanup[32639]: 6F8A174556: message-id=<20180323031807.6F8A174556@example.com>
Mar 23 11:18:07 VM_175_210_centos postfix/qmgr[28550]: 6F8A174556: from=<root@example.com>, size=439, nrcpt=1 (queue active)
Mar 23 11:18:29 VM_175_210_centos postfix/smtp[32456]: connect to mx1.qq.com[183.57.48.35]:25: Connection timed out
Mar 23 11:18:29 VM_175_210_centos postfix/smtp[32456]: 792877454A: to=<491126240@qq.com>, relay=none, delay=2579, delays=2459/0.25/120/0, dsn=4.4.1, status=deferred (connect to mx1.qq.com[183.57.48.35]:25: Connection timed out)
Mar 23 11:18:37 VM_175_210_centos postfix/smtp[32640]: connect to mxbiz1.qq.com[163.177.89.176]:25: Connection timed out
Mar 23 11:19:07 VM_175_210_centos postfix/smtp[32640]: connect to mxbiz1.qq.com[112.90.78.144]:25: Connection timed out
Mar 23 11:19:38 VM_175_210_centos postfix/smtp[32640]: connect to mxbiz2.qq.com[112.90.78.144]:25: Connection timed out
...
很明显,25端口被禁掉了,我们需要向云厂商申请解封端口,这是腾讯云官方文档:云服务器 解封25端口-操作指南-文档中心-腾讯云
2.购买dns增值服务
3.做反向解析
4.申请解封25端口
5.申请通过之后,这时候我们收发邮件都是可以的