lala.im:使用Mailu自建邮件服务器

運維技術·lala.im · 2018-09-22 · 171 人浏览

原文地址:https://lala.im/4196.html,請支持原作者!該處僅作轉載。

所谓不到黄河不死心,我这几天就和邮箱杠上鸟!
这是自建邮件服务器的第二篇文章,今天给各位带哥们介绍一个和Mailcow差不多的自建邮件服务器工具:Mailu。Mailcow有的功能,它基本都有,并且也是需要使用Docker部署的。
那这里详细写一下Mailu都有哪些亮眼功能:
1.自带功能丰富的管理面板,添加用户/邮件转发/邮件别名/邮箱配额,等等。
2.支持两个webmail,分别是roundcube/rainloop(可自由切换,我个人推荐rainloop)
3.邮件反病毒,使用的是clamav,我建议关掉这个玩意,太占系统资源了。
4.反垃圾邮件,使用的是Rspamd。
5.自动生成DKIM/DMARC/SPF解析记录,我们只需要像个傻瓜一样复制粘贴就能完成复杂的DNS解析。
Mailu的安装和部署也比较简单,还是那句话,发的邮件进不进垃圾箱全靠造化了。。。
因为Mailu在部署完成之后可以帮我们自动生成解析记录,所以在开始之前,我们只需要手动去做几个最基本的DNS解析就行。以下假设你的域名是example.com。
1.Type:A/NAME:mail/Value:VPSIP

範例
2.Type:MX/NAME:@/Value:mail.example.com

範例
系统CentOS7X64,关防火墙:

systemctl stop firewalld.service

安装docker:

cd
yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
systemctl start docker
systemctl enable docker.service

安装docker-compose:

curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

新建mailu需要的目录并进入这个目录:

mkdir /mailu && cd /mailu

下载mailu所需的配置文件:

wget https://mailu.io/1.5/_downloads/docker-compose.yml
wget https://mailu.io/1.5/_downloads/.env

编辑docker-compose.yml:

vi docker-compose.yml

用#号注释掉所有BIND_ADDRESS6,如图所示:

範例
接着编辑配置文件:

vi .env

在这个配置文件内,你需要更改的地方有以下几点:

# Set this to the path where Mailu data and configuration is stored
ROOT=/mailu

# Address where listening ports should bind
BIND_ADDRESS4=0.0.0.0
BIND_ADDRESS6=::1

# Main mail domain
DOMAIN=example.com

# Hostnames for this server, separated with comas
HOSTNAMES=mail.example.com

# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
TLS_FLAVOR=notls

# Expose the admin interface (value: true, false)
ADMIN=true

# Choose which webmail to run if any (values: roundcube, rainloop, none)
WEBMAIL=rainloop

# Antivirus solution (value: clamav, none)
ANTIVIRUS=none

确保上面这些参数的值都和我的一模一样,然后现在就可以运行Mailu了:

docker-compose up -d

创建管理员(如果第一次执行报错,再执行一次就OK):

docker-compose run --rm admin python manage.py admin imlala example.com password

注:
1.imlala是系统管理员账号名字\n2.example.com修改成你的域名\n3.password修改成一个你的密码
管理地址:

http://example.com/admin

webmail:

http://example.com/webmail

登录账号应该是你的邮箱全名,例如:[email protected]
登录进去之后,我们就要来完善DNS解析记录了。点击Mail domains:

範例
点击如图箭头所指按钮:

範例
默认的这里应该只有一个MX和SPF,我们点击Regenerate kyes,开始生成:

範例
生成完成之后,你应该可以看到会多出DKIM和DMARC:

範例
我们现在回到cloudflare的DNS解析界面开始做解析:

範例
Mail-Tester测试了一下,和Mailcow一样,8.1分:

範例
还是那句话,测试总归还是测试,实际使用情况如何?
发QQ邮箱发不进去,被550限制了,这个锅要给腾讯背,不是Mailu的问题,发Gmail第一封进垃圾箱,第二封我把webmail从roundcube换成了rainloop,然后发邮件的时候插了个附件进去,竟然奇迹出现,没进垃圾箱,也不知道是rainloop的功劳还是邮件插了个附件的功劳:

範例
发126,我想是个睿智都能发进去吧,还好我不是睿智,我发进去了233:

範例
Mailu和Mailcow我个人觉得都是半斤八两,UI设计上Mailcow更好看点。Mailu支持两个webmail。算是各有特色吧,至于发信成功率,都是稀烂的级别。

運維技術 Email lala.im
Theme Jasmine by Kent Liao