在初期的文章中xiaoz分享过《使用Docker搭建poste,自建短信服务器》,poste这个邮局比较轻量linux学习视频,布署相对简单,适宜个人重度使用。并且从顾客的使用反馈来看(xiaoz之前有给顾客布署过),大量发件的时侯poste不太稳定,很容易出问题。且poste将所有相关依赖服务全部放在一个容器中,并没有使用docker-composer编排多个容器,进而造成稳定性大打折扣。
明天再分享另一个开源的自建邮局服务mailcowlinux架设邮件服务器,mailcow功能上比poste愈发丰富,官方提供docker-composer布署形式,下边和xiaoz一上去安装下mailcow电邮服务吧。
注意:此教程须要把握一定Linux基础和Docker基础的人士阅读
先决条件
注意:请勿必和你的服务商确认是否支持PTR反向解析,倘若不支持的话电邮是很容易进垃圾箱的,就目前xiaoz所了解UltraVPS(EU)是支持PTR解析的,而且自己在后台就可以操作。
倘若您还没有安装Docker可以参考:Linux安装Docker与Docker常用命令
倘若您还没有安装docker-composer,可以使用下边的命令安装:
#下载docker-composer
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#添加执行权限
chmod +x /usr/local/bin/docker-compose
#建立软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
部份CentOS7系统可能外置了postfix服务,会和mailcow端口冲突,可以先尝试执行下边的命令卸载postfix
#CentOS卸载postfix
yum -y remove postfix
#Debian或者Ubuntu卸载postfix
apt-get remove postfix
设置Linux主机名
假定您的顶尖域名为linux获取当前时间,这么您的主机名须要设置为或,前缀自己取,总之是须要二级域名。
设置主机名的命令为:
hostnamectl set-hostname mail.domain.com
之后更改/etc/hosts,添加一行hosts解析,就是将指向到您当前服务器的网段IP,命令如下:
echo '173.0.xx.xxx mail.domain.com' >> /etc/hosts
布署mailcow
先克隆mailcow代码和脚本:
#CentOS安装Git
yum -y install git
#Debian安装Git
apt-get install git
#克隆mailcow代码
git clone https://github.com/mailcow/mailcow-dockerized
步入代码目录cdmailcow-dockerized执行初始化脚本:./generate_config.sh按照提示设置域名和时区等信息。注意:
域名要和前面设置的主机名一致,例如假如后续须要更改,可以编辑mailcow.conf这个配置文件
mailcow默认使用了80/443作为WEB端口,倘若您的服务器上早已存在WEB服务,可能会造成端口冲突,我们可以更改mailcow.conf这个配置文件,将
HTTP_PORT=80
HTTPS_PORT=443
更改为其它端口,例如更改为:
HTTP_PORT=880
HTTPS_PORT=8443
之后执行下边的命令拉取容器镜像和启动:
#拉取镜像
docker-compose pull
#启动容器
docker-compose up -d
初始化mailcow和添加域名
安装成功后,访问您的IP+端口步入WEB管理界面,默认用户名:admin,密码为:moohoo
步入后台后点右上方“配置-邮箱设置-添加域名”
注意:添加域名的时侯这儿须要填写您的顶尖域名,例如您主机名设置的是,这么这儿添加域名的时侯填写
添加邮箱解析
域名添加完毕后,两侧有个DNS按键,点击这个按键会对您的域名DNS进行检查和指引。
不过那种测量有点不准,但是并非所有记录都要添加,下边是必须添加的记录。
主机名记录类型记录值备注
A
您的IP
填写你VPS的网段IP
您的IP
PTR
可能须要联系服务商添加
MX
CNAME
CNAME
TXT
v=spf1amxip4:173.0.xx.xxx~all
IP改成你自己的
TXT
从mailcow后台获取
DKIM记录从mailcow后台获取
电邮测试
DNS解析添加完毕后,等待几分钟生效,之后在mailcow后台添加邮箱帐号,并登陆webmail进行发件测试。
打开这个网站linux架设邮件服务器,之后用你的mailcow邮箱发送短信,发送完毕后查看得分。
满分为10分,假如评分很差,mail-tester会给出提示,建议按照提示进行修正即可。
总结
上述步骤我们仅仅是完成了安装和初始化,虽然后续还有好多配置和维护工作要做。例如禁用IPV6、反向代理、配置SSL证书、数据备份与恢复等,有兴趣的可以参考mailcow官方文档完成,后续xiaoz再分享mailcow配置方面的内容。
自建邮局比较复杂且步骤繁杂,好多细节问题若处理不好很容易进垃圾箱。非必要情况建议使用第三方企业邮箱即可,除非有特殊需求。自建邮局其实不受发件量限制,但不建议短时间内发送大量垃圾电邮,否则你的IP或域名很容易被拉黑,最后得不偿失。