前言
之前给大家用宝塔的方式搭建过邮局系统,有兴趣的可以查看之前的教程自建邮局,今天我们使用开源项目poste.io用Docker的方式搭建邮局系统。
SMTP + IMAP + POP3 + 反垃圾邮件 + 防病毒
Web 管理 + Web 电子邮件
web界面展示
poste.io这个是有收费项目我们使用免费的完全够用
poste.io主要功能
特性 | 说明 |
---|---|
1.易于安装和配置 | Poste.io 提供了一个简化的安装和配置过程,使用户能够快速设置和启动邮件服务器。 |
2.Web 用户界面 | 提供了一个直观的 Web 用户界面,使用户能够轻松管理邮件服务器、创建和管理邮箱账户、设置域名等。 |
3.邮箱功能 | 支持标准的电子邮件功能,包括收发邮件、邮件夹管理、邮件搜索、自动转发、自动回复等。 |
4.安全性 | 使用各种安全措施来保护电子邮件和服务器,包括加密通信、防垃圾邮件过滤、反病毒扫描等。 |
5.邮件过滤和规则 | 可以设置邮件过滤器和规则,根据自定义条件自动处理邮件,例如将特定类型的邮件自动分类到特定文件夹。 |
6.多域名支持 | 允许管理多个域名和相关的邮箱账户,方便为不同组织或团队创建和管理独立的邮箱。 |
准备条件
1)一台服务器
我们使用莱卡云VPS安装centos7系统来演示
安装一些依赖
yum -y install vim telnet #如果有的可以不用安装
这台服务器需要满足
1.1开通25号端口
可以使用以下命令测试下
telnet smtp.qq.com 25
如果出现以上这个字样,那么恭喜你此服务器可以正常安装
这是出网代表你可以给别人发邮件
如果是这样那么此服务器没有开通出网25端口-无法给别人发邮件
无法安装邮箱服务-或者你找vps供应商开通(很多vps厂商不给开通)
当然为了收邮件
还需要别人可以访问你的这些端口
自行开通服务器的端口
需要开通的端口 | 说明 | 网络协议 |
---|---|---|
80 | HTTP 服务端口 | TCP |
443 | HTTPS 服务端口 | TCP |
25 | SMTP 未加密(用于发送邮件) | TCP |
587 | SMTP STARTTLS(安全的 SMTP 发送邮件) | TCP |
993 | IMAPS(IMAP 安全协议) | TCP |
110 | POP3(普通的 POP3) | TCP |
995 | POP3S(POP3 安全协议) | TCP |
143 | IMAP 未加密(如果支持普通 IMAP) | TCP |
465 | SMTPS(SMTP 安全加密协议) | TCP |
4190 | 映射管理邮件过滤(管理 web 邮件过滤和自定义规则)端口 | TCP |
1.2服务器配置
最好是
4C4G的
2C2G的可能会有点卡
单个此邮箱容器占用了我2G内存内存利用率55%
docker stats mailserver
磁盘空间大小最低20G(根据自己的需求)
如果需要能开通25端口vps的可以看以下信息
莱卡云官网
建议选择韩国的CN2服务器
2)本项目官方网站
更多信息请参考官网网站
https://poste.io/
3)域名(必须)
可以自己购买一个域名,或者使用免费的域名
本教程演示使用域名如下
ywsj.cf
域名需要做一些映射
假如我的vps公网ip是
61.111.251.88
主机名 | 记录类型 | 值 | 备注 |
---|---|---|---|
A | 61.111.251.88 | 邮件服务器的 IP 地址 | |
smtp | CNAME | mail.ywsj.cf | 指向邮件服务器 |
pop | CNAME | mail.ywsj.cf | 指向邮件服务器 |
imap | CNAME | mail.ywsj.cf | 指向邮件服务器 |
@ | MX | mail.ywsj.cf | 邮件交换服务器 |
@ | TXT | v=spf1 mx ~all | SPF 记录,防止垃圾邮件 |
还有一个txt后面在说
我使用cloudflare做的映射如下
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir mail;cd mail #创建一个目录,并进入此目录
vim docker-compose.yml
services: # 定义服务
mailserver: # 服务名称为 mailserver
image: analogic/poste.io # 使用的 Docker 镜像
container_name: mailserver # 容器名称为 mailserver
hostname: mail.ywsj.cf # 容器的主机名设置为自己的域名,比如 mail.ywsj.cf
environment: # 设置环境变量
- TZ=Asia/Shanghai # 设置时区为上海
volumes: # 设置卷(挂载目录)
- ./mail/data:/data # 将当前目录下的 ./mail/data 目录挂载到容器的 /data 目录
ports: # 设置端口映射
- "80:80" # 映射 HTTP 服务端口
- "443:443" # 映射 HTTPS 服务端口
- "25:25" # 映射 SMTP 未加密端口(用于发送邮件)
- "587:587" # 映射 SMTP STARTTLS 服务端口(安全的 SMTP 发送邮件)
- "993:993" # 映射 IMAPS 服务端口(IMAP 安全协议)
- "110:110" # 映射 POP3 服务端口(普通的 POP3)
- "995:995" # 映射 POP3S 服务端口(POP3 安全协议)
- "143:143" # 映射 IMAP 未加密端口(如果支持普通 IMAP)
- "465:465" # 映射 SMTPS 服务端口(SMTP 安全加密协议)
- "4190:4190" # 映射管理邮件过滤(管理 web 邮件过滤和自定义规则)端口
restart: always # 容器自动重启策略设置为 always(始终重启)
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mailserver analogic/poste.io "/init" mailserver About a minute ago Up 5 seconds (health: starting) 0.0.0.0:25->25/tcp, [::]:25->25/tcp, 0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:110->110/tcp, [::]:110->110/tcp, 0.0.0.0:143->143/tcp, [::]:143->143/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:465->465/tcp, [::]:465->465/tcp, 0.0.0.0:587->587/tcp, [::]:587->587/tcp, 0.0.0.0:993->993/tcp, [::]:993->993/tcp, 0.0.0.0:995->995/tcp, [::]:995->995/tcp, 4190/tcp
四、打开web页面使用
成功以后需要打开以下链接就可以web端访问了
https://你的ip/admin/install/server
比如我的是
https://61.111.251.88/admin/install/server
注意暂时无法使用域名打开,需要配置证书以后才能使用域名
4.1配置管理员用户和密码
根据图示设置好邮箱管理员用户和密码
4.2邮局(邮件服务器)申请和配置 DKIM
这里就需要再添加一个txt记录
点进申请
然后在cloudflare中新增一个txt的record
4.3申请免费的证书
按图申请即可
申请tls证书成功
4.4用域名登录
现在我们就可以使用域名登录了
https://mail.ywsj.cf/admin/install/server
点击这个可以检查状态是否正常
https://mail.ywsj.cf/admin/server/connection
4.4.1创建新邮箱
https://mail.ywsj.cf/webmail/
默认中文界面
4.5邮件测试
4.5.1发邮件
给gmail邮箱发邮件-gmail收到了
4.5.2收邮件
gmail邮箱回复邮件-收到了
4.6测试垃圾邮件匹配度
https://www.mail-tester.com/?lang=zh
给指定邮箱发邮件
我的得分
五、数据持久化
如果需要更换服务器直接备份这个目录即可
tar -zcf mail.tar.gz mail docker-compose.yml
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区