自己之前用的是qq的域名邮箱,但是不能添加邮箱了,提示可以转移到企业邮箱,但是转移了,提示不能创建企业。。。回过头来就不能用了。于是就想着自己搭建一个域名邮箱,偶尔撸羊毛的时候创建邮箱也方便一点。
mailu.io是一个基于docker的开源邮箱系统,搭建相对比较容易一些。
github:https://github.com/Mailu/Mailu
1、docker安装可以参考:https://zsxwz.com/2020/03/25/
ubuntu20可以直接apt安装:
apt install docker-ce docker-compose
2、主机名设置
编辑/etc/hosts添加:
66.66.66.66 mx.zsxwz.com mx # 66.66.66.66是你的ip地址,mx是邮箱管理面板的二级域名
dns设置,可以先添加一个A记录,名称mx,内容你的ip地址,66.66.66.66。域名设置比较麻烦,后面还需要添加更多的记录。
修改/etc/hostname
mx # 修改成和hosts的一样
修改主机名
hostname -F /etc/hostname
3、生成mailu配置文件:
1.打开网页后,第一步是选择版本与Docker管理方式。这里我们选择最新版1.7, Docker管理方式选择Docker
2.需要设置路径与域名信息。请按照下图填写,并替换为您的域名。请注意,Main mail domain and server display name应该填写您的根域名,比如我这里是zsxwz.com; 而Linked Website URL, 则填写您的邮件服务器主机名,这里我们填写https://mx.zsxwz.com 在TLS certificates这里,我们选择letsencrypt, 系统将会自动帮我们生成Let’s Encrypt证书。您也可以选择自己提供证书。下方的Enable the admin UI请务必勾选,否则系统将不会安装Web管理面板。
3.选择网页邮箱的面板。这里可以选择Roundcube和Rainloop, 您可以根据个人偏好来选择。我这里推荐Rainloop,它更美观,且对移动端的适配更好。Rainloop支持中文显示。下面的三个选项分别是杀毒、WebDAV、邮件代收,您可以根据自己的需要来勾选。
4.配置IP与主机名。请在IP listen address中填写您服务器的IP地址,比如66.66.66.66. 第二行是设置Docker的子网,一般保持默认即可。IPv6建议不启用。Unbound resolver建议启用。最后一栏,填写您的服务器的长主机名,我这里是mx.zsxwz.com
5.也是最后一步,选择数据库。这里我们选择最简单的Sqlite即可.
选择完毕后,点击Setup Mailu, 系统就会自动帮你生成好配置文件了
4、安装mailu服务
mkdir /mailu cd /mailu # 两个上一步生成的配置文件下载回来 wget http://setup.mailu.io/1.7/file/xxxxxxxxxx/docker-compose.yml wget http://setup.mailu.io/1.7/file/xxxxxxxxxxx/mailu.env # 安装 docker-compose -p mailu up -d
如果报错,编辑docker-compose.yml文件,删除掉所有绑定了[::1]的ipv6地址与端口。
5、使用邮箱:
需要先设置一下管理员帐号
docker-compose -p mailu exec admin flask mailu admin zsxwz zsxwz.com 123456 #生成一个用户名为zsxwz@zsxwz.com的管理员邮箱,密码为123456。也可以使用其他域名。 docker-compose -p mailu exec admin flask mailu user hello zsxwz.com 123456 # 生成一个用户名为hello@zsxwz.com的用户邮箱,密码为123456
邮箱dns解析设置,登录之后选择mail domain,设置,生成密钥文件。
如果你的域名比如zsxwz.com,如果没有网站,可以先添加一个A记录,名称@,地址可以是127.0.0.1
然后添加mx,txt,spf记录
6、之后就可以正常收发邮件了,测试了一下,gmail,163和aliyun邮箱可以正常收到邮件,qq,yandex和outlook容易进垃圾邮件箱。
如果你vps配置不太好,发送大附件,可能延迟比较严重。
自己廉价vps搭建的,延迟比较严重主要还是拿来收件用的,平时主用还是gmail。https://zsxwz.com/2020/09/19/