宝塔自带的邮件管理器,太简陋了,而且也极容易出问题。大鸟一直想找个替代品,看到有人推荐Mailu,试用了下,发现非常不错。
Mailu.io是一款免费开源且性能强大、功能丰富的域名邮箱系统。它基于Docker, 具有部署简单,可移植性高,备份方便等多种优势。虽然Poste已经很久不再更新了,但是Mailu则是Poste的升级版,一直稳定更新。
这篇文章就来用宝塔面板docker方式来搭建这个域名邮箱系统~~~~~
由于Mailu基于Docker, 因此几乎可以在任何版本的Linux发行版上安装使用。安装前,请确保您的服务器有2 GB的内存,并拥有一个独立IP地址。
测试地址
不保证时效,有需要的可以看看,支持注册~~~
webmail:https://mx.ctho.me
mail:https://mx.ctho.me/admin
1、准备
1)服务器一台并且安装好宝塔面板并且内存不低于2G
2)宝塔面板(宝塔面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=)
3)安装好docker管理器(这个略过)
4)宝塔安装好Docker Compose,一行命令搞定:
pip install docker-compose
如果提示:pip: command not found.... 使用如下命令解决~~
wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip -V # 查看pip版本
5)准备好域名
2、测试25端口
一般的国外主机都是开通了25端口的,大鸟用的这台测试机器是Evolution Host的免费vps,如果你的博客流量不错,可以尝试申请,机器配置4H/4G/80G SSD/1G端口~~
在安装之前,您需要确保您的VPS的25端口是开放的。您可以在您的VPS上执行下面的命令来测试25端口是否开放。
telnet smtp.aol.com 25
如果看到类似下面的回显,则说明端口是开放的:
Trying 67.195.228.102... Connected to smtp.aol.com. Escape character is '^]'. 220 smtp.mail.yahoo.com ESMTP ready
如果显示超时,说明25端口不开放;您需要向主机商申请开放25端口,或者更换一台VPS.
3、设置主机名
设置好主机名(服务器名, Hostname)是所有邮件服务器必不可少的一步,否则在发信时将会遇到各种错误。
如果您的域名为example.com, 那么我建议您的邮件服务器主机名可以设置为mail.example.com或者mx.example.com.
1)需要编辑/etc/hosts文件,找到含有你的VPS的IP地址的那一行;如果没有,则添加一行。内容如下:
88.88.88.88 mx.ctho.me mx
其中, 88.88.88.88是你的服务器IP地址,后面依次填入长主机名和短主机名,切记不可填返。
编辑好后,在SSH中执行:
echo "mx" > /etc/hostname hostname -F /etc/hostname
这样,就设置好了主机名。此时我们检查一下是否设置正确。首先,执行:
hostname
此时我们应该只能看到短主机名mx. 如果你看到了长主机名mx.ctho.me, 说明之前设置错误,请重新检查上述步骤。然后,执行:
hostname -f
此时,我们应该只能看到长主机名mx.ctho.me
4、设置解析
1)设置好主机名之后,我们还需要设置DNS解析记录。DNS记录的设置分为两部分,一部分需要在搭建邮箱之前设置,另一部分(DKIM)在搭建邮箱之后设置。我们先介绍第一部分。假设您的服务器IP地址为88.88.88.88, 那么您需要到您域名的DNS服务提供商处,添加下面的五条记录:
- 将域名ctho.me设置为指向服务器IP的A记录或者ALIAS记录。如果您不使用该域名做网站,您可以设置一条A记录,解析到127.0.0.1. 请注意,根域名不能设置CNAME记录。
- 将域名mx.ctho.me设置A记录,解析到88.88.88.88
- 将域名ctho.me设置MX记录,优先级为10,解析值为mx.ctho.me
- SPF: 将域名ctho.me设置TXT记录,解析值为”v=spf1 mx ~all”
- DMARC: 将域名 _dmarc.ctho.me 设置TXT记录,解析值为”v=DMARC1; p=none; pct=100; rua=mailto:admin@ctho.me”
2)然后,需要到你的VPS服务商处,为您的IP地址设置逆向DNS记录(Reverse DNS, PTR), 将88.88.88.88解析到mx.ctho.me.
这样,我们就全部设置好了主机名hostname, 可以进行接下来的其他操作了。
3)注意:以上域名修改为自己的的域名
5、配置Mailu服务器
1)Mailu服务器提供了一个自动生成配置文件的网页,非常方便。
2)配置的网址:https://setup.mailu.io/
3)打开网页后,第一步是选择版本与Docker管理方式。这里我们选择最新版1.7, Docker管理方式选择Docker.
4)需要设置路径与域名信息。请按照下图填写,并替换为自己的域名。
注意:
Main mail domain and server display name应该填写您的根域名,比如我这里是ctho.me
Linked Website URL:则填写您的邮件服务器主机名,这里我们填写https://mx.ctho.me
在TLS certificates这里,我们选择letsencrypt, 系统将会自动帮我们生成Let’s Encrypt证书。您也可以选择自己提供证书。
下方的Enable the admin UI请务必勾选,否则系统将不会安装Web管理面板。
5)选择网页邮箱的面板。这里可以选择Roundcube和Rainloop, 您可以根据个人偏好来选择。我这里推荐Rainloop,它更美观,且对移动端的适配更好。Rainloop支持中文显示。下面的三个选项分别是杀毒、WebDAV、邮件代收,您可以根据自己的需要来勾选。
6)配置IP与主机名。
注意:
请在IP listen address中填写您服务器的IP地址,比如图示。
第二行是设置Docker的子网,一般保持默认即可。IPv6建议不启用。
Unbound resolver建议启用。
public hostnames,填写您的服务器的长主机名,我这里是mx.ctho.me。
7)最后一步,选择数据库
这里我们选择最简单的Sqlite即可。
您也可以选择其他的数据库,比如MySQL或者PostgreSQL。
8)选择完毕后,点击Setup Mailu, 系统就会自动帮你生成好配置文件了,如下图。
6、运行Mailu服务器
1)按照上述步骤生成好Mailu配置文件,就可以运行Mailu服务器了。回到SSH, 执行:
mkdir /mailu cd /mailu
2)然后找到之前那个页面生成的配置文件链接,下载到/mailu文件夹中:
wget http://setup.mailu.io/1.7/file/360e122d-9ab8-47f9-9519-bb8c1d0042db/docker-compose.yml wget http://setup.mailu.io/1.7/file/360e122d-9ab8-47f9-9519-bb8c1d0042db/mailu.env
3)最后,使用Docker compose运行。
docker-compose -p mailu up -d
初次使用,系统将会下载11个Docker镜像,需要数分钟的时间。等系统提示完成后,Mailu就处于运行状态了。
4)宝塔中部署遇到的错误
##IPv4端口问题##
问题如图:(这里提示80端口被占用)
解决:/www/server/panel/vhost/nginx 之后,修改 0.default.conf、phpfpm_status.conf 两个文件的默认端口为其他。
###IPv6端口问题##
这里的问题截图如下:依然是端口被占用的问题,不过这个解决的方法就是编辑docker-compose.yml文件,删除掉所有绑定了[::1]地址与端口的行,然后重新运行上面的命令即可。
如果不会删除,看图:
5)运行成功截图
6)在第一次登录Mailu服务器后台面板之前,需要新建一个管理员账户。在SSH中执行:
docker-compose -p mailu exec admin flask mailu admin admin ctho.me ctho.me
这样,我们就创建了一个用户名为admin@ctho.me, 密码为ctho.me,的管理员账户。请替换为您需要的值。
7)创建完毕,您就可以在浏览器中访问https://mx.ctho.me/admin登录您的管理员面板了~
7、配置Mailu域名邮箱
以上搭建运行之后,我们需要登录配置该邮件服务器了。
1)您就可以在浏览器中访问https://mx.ctho.me/admin登录您的管理员面板了,如下图。
2)登录之后,整个面板的截图
3)点击左侧Mail Domains, 就能管理我们的邮箱域名。在域名管理界面,点击右上角New domain, 即可添加域名。
4)点击上图中的红框中email的图标,进入用户管理界面,添加右上角的add user 即可添加用户,如下图:
这里我们可以输入邮箱前缀,密码,姓名。下方的Features and quotas可以设置邮箱容量,并且可以设置是否允许IMAP和POP3客户端登录收信。设置完毕后,点击Save, 就添加好了用户。
4、在域名管理界面,点击下图的标注红框的地方,则进入了域名详情页。我们点击右上角的Generate keys, 即可生成DKIM记录。如下图。
根据上图的信息,您需要去您的DNS服务器运营商设置域名的DKIM记录。比如,以我的ctho.me域名为例,我需要设置下面的DKIM记录:
- 将域名dkim._domainkey.ctho.me设置TXT记录,解析值为:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcPNRm7UmMYEfsdyK3u6aCbdK6toN4s4TRSlZxL0e5dIEdiVaL5Tr7eFPOl039YO9zg0YmprW09CT7yKuxrxTJ6kn/gZZvtHkv6kuSSXkQXIe6/rryUmFWzeBGTRMkh5ZFitHsI2lkwDw7KUjzCQvMgMIxx+jqa3EbbDkJcThuiQIDAQAB
这样,我们就完成了全部的DNS设置。此时,您的域名邮箱已经全部搭建并配置完毕,可以收发邮件了。
8、网页邮箱
1)访问https://mx.ctho.me就会自动跳转到网页邮箱的登录界面。如果您在配置时选择了Rainloop, 则第一次登录时可以在界面上选择语言,比如简体中文。
2)效果图
3)收发邮件
实测,国内的163、QQ邮箱,都没有进垃圾桶,可以正常收发。
9、开启注册
邮箱系统支持注册,具体看看如何设置。
1)点击Mail domain 之后点击红框部分进入设置
2)点击 Enable sign-up 开启注册,maximum user count 表示最大注册人数,根据需要填写~~
3、效果
打开网址:https://mx.ctho.me/admin 找到sigin up 开始注册
10、邮件发信测试
1)测试发信
网址:https://www.mail-tester.com/
2)查询反向 DNS 是否成功的
https://mxtoolbox.com/ReverseLookup.aspx
可以看到下面的页面,输入我们的 IP 地址,点击 “Reverse Lookup” 进行查询。
11、最后
安装还算简单,但前期的设置稍微麻烦点,不过,docker安装你值得拥有。
宝塔自带的邮件服务器管理器,功能太过简陋,而且也很容易出问题。如果你希望找要给替代品,那么Mailu是一个很好的选择~
31F
看一下隐藏了什么内容
32F
看看 学习
33F
学习学习
34F
看看 学习一下操作
35F
看一下隐藏了什么内容
36F
看看怎么解决
37F
查看隐藏内容专用回复
38F
IPv4端口955无法分配如何解决?
39F
宝塔 mailu 宝塔 mailu
40F
看一下隐藏了什么内容
41F
我也是ipv4 995端口无法分配的问题
42F
学习学习
43F
学习一下
B1
@ hhh 隐藏内容
44F
额,看不到吗
45F
**解决端口问题?
46F
看一下隐藏了什么内容
47F
每次看都隐藏啊
48F
学习一下
49F
看一下隐藏了什么内容
50F
看一下隐藏了什么内容
51F
看一下隐藏了什么内容
52F
请问下用的CF DNS 开启了小云朵,发邮件正常收邮件收不了,发件方一直提示投递种,SMTP也不行,是哪里出问题了
53F
请问下如果用宝塔自带的NG应该怎么配置反代呢,因为服务器又其他东西,