Mar
12
建立自己的邮件系统centos+docker+poste.io
因为业务的需要,之前一直是使用第三方的邮件系统.因为是共享ip.所以总会出现block的情况.
针对通知类业务的邮件,独立ip是最好的.
所以在发送量不是很多的时候,最好考虑自建邮箱系统.
注意,这里有个问题,就是安全性.毕竟自己维护邮箱,还是挺多安全问题的.
好了不废话.干货来了.
先验证你的ip是否进入了blocklist
https://mxtoolbox.com/blacklists.aspx
一 搭建邮件系统
1.安装docker
2.创建邮件系统实例
3.其它配置
二 配置解析
一 搭建邮件系统
采用docker里的poste.io进行搭建,我是基于Centos系统进行搭建.
1,安装docker
# 删除老旧的docker版本
yum remove docker docker-common docker-selinux docker-engine
# 安装yum相关的配置软件
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker相关的源
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 使用aliyun的源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 docker
yum -y install docker-ce
如果出现报错,
[quote]Problem: package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed[/quote]
可以尝试手动安装
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# 启动 docker
systemctl start docker
# 设置为开始启动
systemctl enable docker
2,创建邮件系统实例
# 拉取镜像
docker pull analogic/poste.io
# 创建数据目录
mkdir -p /data/poste
# 运行实例
docker run -p 25:25 -p 80:80 -p 110:110 -p 143:143 \
-p 443:443 -p 587:587 -p 993:993 -p 995:995 \
-v /etc/localtime:/etc/localtime:ro \
-v /data/poste:/data \
-e "HTTPS=OFF" \
-e "DISABLE_CLAMAV=TRUE" \
--name "PosteServ" -h "atim.cn" \
-d -t analogic/poste.io
3,其它配置
a.防火墙注意要把使用到的端口启动,
b.dns配置,主要收三个配置
i.mx 记录
ii. 防垃圾邮件配置
iii.dkim配置
c.ptr配置
d.申请开通25端口,大部分的云商默认都是没有开通的.
atim.cn. 600 IN MX 45.32.163.243
atim.cn. 600 IN TXT "v=spf1 ip4:45.32.163.243 ~all"
_dmarc.atim.cn 600 IN TXT "v=DMARC1; p=quarantine; fo=1; ruf=mailto:xxx@atim; rua=mailto:xxx@atim.cn"
spf记录是用于告诉用户那个通过那个ip发出来的才是我们域名有效的邮箱
DMARC1记录用于,如果错误时怎么处理,应该通知那个邮箱
DKIM ,它的流程是:
1,邮件内容加密信息,即所有发出去的邮件都增加一个核验码(DKIM-Signature),
2,目标邮件服务商收到邮件后,在dns里查到这个公钥,
3,使用公钥与邮件内容生成核验码.与邮件内容自带的核验码对比,
4,得出邮件是否被修改过.
ptr,这个是通过ip反查得到域名.需要供应商沟通以及配置.
一个邮件测试的工具:
http://www.mail-tester.com/
搭建完系统,再发送一个过去,看看你的邮件能得到几分
一个商誉检查的工具:
https://www.senderscore.org
发得量少.估计也不好评价.
针对通知类业务的邮件,独立ip是最好的.
所以在发送量不是很多的时候,最好考虑自建邮箱系统.
注意,这里有个问题,就是安全性.毕竟自己维护邮箱,还是挺多安全问题的.
好了不废话.干货来了.
先验证你的ip是否进入了blocklist
https://mxtoolbox.com/blacklists.aspx
一 搭建邮件系统
1.安装docker
2.创建邮件系统实例
3.其它配置
二 配置解析
一 搭建邮件系统
采用docker里的poste.io进行搭建,我是基于Centos系统进行搭建.
1,安装docker
# 删除老旧的docker版本
yum remove docker docker-common docker-selinux docker-engine
# 安装yum相关的配置软件
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker相关的源
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 使用aliyun的源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 docker
yum -y install docker-ce
如果出现报错,
[quote]Problem: package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed[/quote]
可以尝试手动安装
dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# 启动 docker
systemctl start docker
# 设置为开始启动
systemctl enable docker
2,创建邮件系统实例
# 拉取镜像
docker pull analogic/poste.io
# 创建数据目录
mkdir -p /data/poste
# 运行实例
docker run -p 25:25 -p 80:80 -p 110:110 -p 143:143 \
-p 443:443 -p 587:587 -p 993:993 -p 995:995 \
-v /etc/localtime:/etc/localtime:ro \
-v /data/poste:/data \
-e "HTTPS=OFF" \
-e "DISABLE_CLAMAV=TRUE" \
--name "PosteServ" -h "atim.cn" \
-d -t analogic/poste.io
3,其它配置
a.防火墙注意要把使用到的端口启动,
b.dns配置,主要收三个配置
i.mx 记录
ii. 防垃圾邮件配置
iii.dkim配置
c.ptr配置
d.申请开通25端口,大部分的云商默认都是没有开通的.
atim.cn. 600 IN MX 45.32.163.243
atim.cn. 600 IN TXT "v=spf1 ip4:45.32.163.243 ~all"
_dmarc.atim.cn 600 IN TXT "v=DMARC1; p=quarantine; fo=1; ruf=mailto:xxx@atim; rua=mailto:xxx@atim.cn"
spf记录是用于告诉用户那个通过那个ip发出来的才是我们域名有效的邮箱
DMARC1记录用于,如果错误时怎么处理,应该通知那个邮箱
DKIM ,它的流程是:
1,邮件内容加密信息,即所有发出去的邮件都增加一个核验码(DKIM-Signature),
2,目标邮件服务商收到邮件后,在dns里查到这个公钥,
3,使用公钥与邮件内容生成核验码.与邮件内容自带的核验码对比,
4,得出邮件是否被修改过.
ptr,这个是通过ip反查得到域名.需要供应商沟通以及配置.
一个邮件测试的工具:
http://www.mail-tester.com/
搭建完系统,再发送一个过去,看看你的邮件能得到几分
一个商誉检查的工具:
https://www.senderscore.org
发得量少.估计也不好评价.