使用Poste.io搭建邮箱服务器

XZH 发布于 20 天前 52 次阅读


一、安装环境

先在服务器后台防火墙处开放端口25,110,143,465,587,993,995,2443

搭建邮局的必要条件是服务器开放了25端口,可以用以下命令测试(需安装telent)

telnet smtp.qq.com 25

安装Docker

curl -fsSL https://get.docker.com | bash

二、运行容器

mkdir -p /opt/mail
cd /opt/mail
cat >> docker-compose.yml <<EOF
services:
  posteio:
    container_name: mail
    image: analogic/poste.io
    ports:
      - "25:25"
      - "2080:80"
      - "2443:443"
      - "110:110"
      - "143:143"
      - "465:465"
      - "587:587"
      - "993:993"
      - "995:995"
    environment:
      - TZ=Asia/Shanghai
      - DISABLE_CLAMAV=TRUE
      - DISABLE_RSPAMD=TRUE
    volumes:
      - ./data:/data
EOF
docker compose up -d

如果想要启用病毒扫描和反垃圾邮件可以把下面两个环境变量删掉

容器启动之后可以访问IP:2443访问初始化页面,hostname输入你的域名即可

初始化完成后来到域名列表,选择你的域名

选择创建密钥

记好这个密钥,一会会用到

四、添加DNS

主机记录记录类型记录值备注
mail@服务器IP地址
@MXmail.rxzh.cc替换成你的域名,优先级10
@TXTv=spf1 ip4:1.1.1.1 ~all替换为你的服务器地址,限制发件地址
s20260109518._domainkeyTXTk=rsa; p=.......这里就是上一步生成的密钥,拆开填进去
_dmarcTXTv=DMARC1; p=reject

在你的域名解析处按上述表格添加解析记录

五、上传证书

转到证书页面,可以用Let's Encrypt的证书也可以自己上传证书

上传完成证书需要重启容器来应用证书

docker restart mail

六、测试邮箱

poste.io包含webmail,可以直接访问ip:2443来登录发邮件,账号密码等同后台密码

登上之后访问https://www.mail-tester.com/?lang=zh,会有个邮箱,给这个邮箱发个邮件就可以看到你的邮局得分,同时可以看到还能优化的地方

咕咕咕~
最后更新于 2026-01-09