本文最后更新于2020年09月27日; 如果文章内容失效,或者遇到问题,请留言及时联系 站长
CENTOS8 docker部署poste.io邮件服务器
环境介绍:
CENTOS8
宝塔面板
1.安装docker并下载poste.io镜像
面板后台安装Docker管理器 3.0
Docker管理器 3.0 -镜像管理-获取镜像-官方库-analogic/poste.io
到这里docker准备就完成了
2.系统环境配置及DNS解析准备
SSH登录主机设置hostname
查看当前主机名hostnamectl
sudo hostnamectl set-hostname mx.90il.com
sudo systemctl restart systemd-hostnamed3.域名处DNS解析配置
以下88.88.88.88代表你的邮箱服务器IP
| 域名 | 记录类型 | 记录值 | 优先级 | |
|---|---|---|---|---|
| 90il.com | A | Any_IP | ||
| mx.90il.com | A | 88.88.88.88 | ||
| 90il.com | MX | mx.90il.com | 10 | |
| mail.90il.com | CNAME | mx.90il.com | ||
| smtp.90il.com | CNAME | mx.90il.com | ||
| imap.90il.com | CNAME | mx.90il.com | ||
| 90il.com | TXT | v=spf1 mx ~all | ||
| _dmarc.90il.com | TXT | v=DMARC1; p=none; rua=mailto:dmarc_report@90il.com |
dmarc解释
v:版本(纯文本;必要的)值为“DMARC1”,必须作为第一个标签。
p:用于告知收件方,当检测到某邮件存在伪造发件人的情况,收件方要做出什么处理,reject为拒绝该邮件;none为不作任何处理;quarantine为将邮件标记为垃圾邮件。
rua:发送综合反馈的邮件地址(逗号分隔的DMARC URI纯文本列表;可选的)
ruf:用于当检测到伪造邮件,收件方须将检测结果发送到哪个邮箱地址。
服务器设置RDNS
服务器RDNS需要服务商支持,部分服务商可在后台自己设置,部分需要提交工单,建议联系客服添加
88.88.88.88 PTR mx.90il.com4.启动docker
docker run \
--net=host \
-v /home/data:/data \
--name "mailserver" \
-h "mx.90il.com" \
-e "TZ=Asia/Shanghai" \
-e "HTTP_PORT=5080" \
-e "HTTPS_PORT=5443"\
-e "DISABLE_CLAMAV=TRUE" \
-e "DISABLE_RSPAMD=TRUE" \
-itd analogic/poste.io命令解释:
- net=host 邮件服务器将使用主机网络堆栈(请参阅https://docs.docker.com/network/host )
- v 从主机系统挂载数据目录。用户数据库,电子邮件,日志都将保存在此目录中,以方便备份。
- name 定义容器名称
- h 邮件服务器的主机名
- e TZ 设置日期时间的时区
- "HTTP_PORT=5080" 定制HTTP端口
- "HTTPS_PORT=5443" 定制HTTPS端口
- "DISABLE_CLAMAV=TRUE" 禁用ClamAV,它对于低内存使用非常有用。
- "DISABLE_RSPAMD=TRUE" 禁用Rspamd,这对于低内存使用非常有用。
- “DISABLE_ROUNDCUBE=TRUE” 禁用Roundcube网络邮件。
- itd 后台运行
这里我们的容器在服务器重启后,不会自动运行。使用以下命令更新docker
docker update --restart=always mailserver使用端口解释
| 端口号 | 目的 | |
|---|---|---|
| 25 | SMTP-主要处理入站邮件 | |
| 80 | HTTP-重定向到https并进行身份验证以加密服务 | |
| 110 | POP3-用于访问邮箱的标准协议,在客户端身份验证之前需要STARTTLS | |
| 143 | IMAP-用于访问邮箱的标准协议,在客户端身份验证之前需要STARTTLS | |
| 443 | HTTPS-访问管理或Webmail客户端 | |
| 465 | SMTPS-旧版SMTP端口 | |
| 587 | MSA-STARTTLS和身份验证后主要用于电子邮件客户端的SMTP端口 | |
| 993 | IMAPS-自连接以来已加密的IMAP备用端口 | |
| 995 | POP3S-自连接以来已加密的POP3 | |
| 4190 | 远程筛子设置 |
5.添加网站配置反向代理
添加网站太过简单不写了, mail.90il.com
网站-设置-反向代理
代理名称:mail
目标URL:https://127.0.0.1:5443
点击提交,开启反代。即可访问mail.90il.com
添加邮箱地址:mail.90il.com/admin
Roundcube web管理客户端:mail.90il.com/webmail
6.docker拓展
docker images //列出镜像
docker ps -a //列出容器
docker stop mailserver //停止mailserver容器
docker rm e4f34331e935 //删除e4f34331e935容器
docker exec -it d13b43c464b6 /bin/bash //进入d13b43c464b6容器7.DKIM配置
poste.io的DKIM配置比较简单,这里先不写了
配置完要在域名解析加入DKIM的TXT解析
文章参考:
https://poste.io/poste.io官方https://beekc.top/2019/01/26/build-poste-io-mail-server/https://qing.su/article/139.html