使用 Poste.io 自建邮件服务器

温馨提醒

简介

  • Poste.io 是一个轻量级的开源邮件服务器程序
  • 具有内置的反垃圾邮件、反病毒功能;
  • 易于安装,支持 Docker 容器化部署;

前提条件

  • 安装 Docker 和 docker-compose

  • 有一台带公网 IP 地址的服务器

  • 注册一个域名(国内服务器需要先备案)

  • 开放以下端口

    服务端口
    HTTP80
    HTTPS443
    SMTP25
    SMTPS465
    MSA587
    POP3110
    POP3S995
    IMAP143
    IMAPS993
    SIEVE4190
  • 设置域名解析
    主机记录记录类型记录值说明
    @MXmail.abc.com
    mailA服务器IP
    @TXTv=spf1 mx ~allSPF 记录
    TXTDKIM 公钥记录,确保邮件真实性
    smtpA服务器IP
    popA服务器IP
    imapA服务器IP

部署 Poste.io 服务

vim docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
services:
  mailserver:
    container_name: mail
    hostname: mail.abc.com
    image: analogic/poste.io:2.5.8
    network_mode: host
    restart: always
    environment:
      - TZ=Asia/Shanghai
      - HTTPS=OFF             # 如果使用反向代理,禁用所有重定向到 https 的请求
      - LETSENCRYPT_EMAIL=admin@imoe.email
      - LETSENCRYPT_HOST=mail.imoe.email
      - VIRTUAL_HOST=mail.imoe.email
      # - DISABLE_CLAMAV=TRUE    # 反病毒,禁用后,可大幅减低内存和CPU占用
      # - DISABLE_RSPAMD=TRUE    # 反垃圾邮件,禁用后,可大幅减低内存和CPU占用
    volumes:
      - ./data:/data
      - /etc/localtime:/etc/localtime:ro

启动

docker compose up -d

访问后台

  • 登录后台,初始化账号

    访问 https://mail.abc.com

    image-20260123101716132

  • 申请证书

    image-20260123101904641

    image-20260123102230153

  • 创建 DKIM 密钥

    image-20260123105248108

    点击创建密钥

    image-20260123105339478

    添加 DNS 解析

    image-20260123110934175

测试收发邮件

image-20260123103020610

image-20260123110337246

发送邮件

image-20260123103240713

image-20260123103136129

回复邮件

image-20260123111259852