使用 maddy 搭建邮件服务器

未完待续

安装

  1. GitHub 或者 maddy.email 下载最新 release。

    wget https://maddy.email/builds/0.8.1/maddy-0.8.1-x86_64-linux-musl.tar.zst
    tar --zstd -xf maddy-*.tar.zst | rm maddy-*.tar.zst
    cd maddy-*
    
  2. 安装 maddy:

    # 安装可执行文件
    sudo cp maddy /usr/local/bin
    # 安装配置文件
    sudo mkdir /etc/maddy
    sudo cp maddy.conf /etc/maddy
    # 安装服务文件
    sudo cp systemd/*.service /etc/systemd/system
    sudo systemctl daemon-reload
    # 创建 maddy 用户
    sudo useradd -mrU -s /sbin/nologin -d /var/lib/maddy -c "maddy mail server" maddy
    

配置

  1. 编辑配置文件:

    sudoedit /etc/maddy/maddy.conf
    
    $(hostname) = mx1.example.org
    $(primary_domain) = example.org
    
    • hostname 是邮件服务器地址
    • primary_domain 是邮箱域名
  2. 安装证书:

    sudo su
    DOMAIN="mx1.example.org"
    mkdir -p /etc/maddy/certs/$DOMAIN
    # 安装 acme.sh
    curl https://get.acme.sh | sh
    acme.sh --set-default-ca --server letsencrypt
    acme.sh --register-account -m "your-email@gmail.com"
    # 申请证书
    acme.sh --issue --ecc --standalone -d $DOMAIN
    # 安装证书
    acme.sh -i --ecc -d $DOMAIN \
        --key-file /etc/maddy/certs/$DOMAIN/privkey.pem  \
        --fullchain-file /etc/maddy/certs/$DOMAIN/fullchain.pem
    exit
    
  3. 设置访问权限:

    sudo setfacl -Rm u:maddy:rX /etc/maddy
    
  4. 启动 maddy:

    sudo systemctl start maddy
    
  5. 查看 DKIM 公钥:

    sudo cat /var/lib/maddy/dkim_keys/example.org_default.dns
    
  6. 设置 DNS 记录:

    • 添加一条值为域名服务器 IP 的 A 记录:mx1.example.org. A 10.0.0.1
    • 添加一条值为域名服务器域名的 MX 记录:example.org. MX 0 mx1.example.org.
    • 添加一条值为 DKIM 公钥的 TXT 记录:default._domainkey.example.org. TXT "v=DKIM1; k=ed25519; p=xxx"

MTA-STS 和 TLSA

MTA-STS

MTA-STS 要求我们在 URL https://mta-sts.example.org/.well-known/mta-sts.txt 处提供策略文件。

version: STSv1
mode: enforce
max_age: 604800
mx: mx1.example.org

TLSA

TLSA 要求我们在 DNS 中添加一条 _25._tcp.example.org. 指向证书的 TLSA 记录。

TLSA 记录生成工具:gen_tlsa

使用

创建用户:

# 注册用户凭据
sudo -u maddy maddy creds create postmaster@example.org
# 创建本地存储账户
sudo -u maddy maddy imap-acct create postmaster@example.org

获取帮助:

sudo -u maddy maddy creds --help
sudo -u maddy maddy imap-acct --help

参考:

posted @ 2025-05-16 03:58  Undefined443  阅读(151)  评论(0)    收藏  举报