0.序
这篇文章部署的是poste.io邮局
此邮局支持SMTP、IMAP以及POP
1.准备工作
你需要一个Debian系统服务器(版本最好12)
2.安装docker并运行
docker run \
-p 25:25 \
-p 80:80 \
-p 443:443 \
-p 110:110 \
-p 143:143 \
-p 465:465 \
-p 587:587 \
-p 993:993 \
-p 995:995 \
-e TZ=Europe/Prague \
-v /your-data-dir/data:/data \
-t analogic/poste.io
完成后可以用docker ps验证是否运行,如没有(即输出中无name为mailserver的(一般)),用docker ps -a显示docker容器,然后找到name为mailserver,docker start 那个容器的name
2.1 访问Web页面
如果你的域名已经解析到了你的服务器上,你可以访问你的域名,如没有你可以访问你的ip地址,然后会进到配置界面,正常填写你的邮箱和密码即可
3.域名配置
3.1 MX记录(告知其他服务器谁来收邮件)
- 主机记录: @
- 类型: MX
- 值: [你的域名] 优先级: 10
这个如果不加,别人给你发email的时候就会收到退信:
收件人(user@email.com)所属域名不存在,邮件无法送达。No Mx Record Found
3.2 SPF记录(防止邮件伪造)
- 主机记录: @
- 类型: TXT
- 值: v=spf1 mx a:[你的域名] ~all
解释 → 允许`[你的域名]`和其A记录对应的IP发信。
这个不加有一些email不让你发,比如你给gmail发的时候如果没有这个,你就会收到来自gmail的退信
3.3 DKIM记录(防篡改验证) – 在poste.io的`Server Config > DKIM Keys`生成密钥 → DNS添加:
- 主机记录: dkim._domainkey
- 类型: TXT
- 值: “v=DKIM1; k=rsa; p=你的公钥内容…”
(后面会给出详细的教程)
3.4 基础的A记录
让你可以用域名访问你的email网站
如果嫌不麻烦也可以不要(大概)
4.解析域名

这个的意思是,原本你不管是用smtp、pop还是啥,你都要填写你Mailserver settings –>Mailserver hostname中的域名,这个就相当于你原本smtp服务器要填mail.net.com , 现在只用填smtp.net.com,也就是更方便
4.1 新建虚拟域
点击红色线条上的蓝色按钮新建虚拟域
虚拟域:user@net.com的net.com就是虚拟域

4.2 创建新密钥
新建完后点击图中红圈里的蓝色按钮创建新密钥

4.3 添加记录
画红色圈的地方填在域名解析里面的主机记录,黄线(粗体)则是记录值


5.TLS证书
点击红圈中的绿色按钮修改证书

5.1 启用证书
点击上面的框,勾选使用证书,再点击下面的保存

6.新建用户
点击红线上的按钮新建邮箱地址
正常来说你现在下面应该没有用户,我有是因为我已经用过了

接着你可以回到webmail查看支持

注意当你的服务器关机后,并不会自动启动mailserver,如何启动你可以查看
完成后可以用docker ps验证是否运行,如没有(即输出中无name为mailserver的),用docker ps -a显示docker容器,然后找到name为mailserver,docker start 那个容器的name