• 首页
  • 归档
  • 关于
  • 搜索
  • 夜间模式
    ©2026  望时代 Theme by OneBlog

    望时代

    搜索
    标签
    # 教程 # Linux # 脚本 # AI # 影音 # 游戏 # 随笔 # 科技 # 认知
  • 首页>
  • >
  • 正文
  • 想自建邮件服务器?来试试 Maddy

    2026年06月26日 6 阅读 0 评论 5093 字

    想自建邮件服务器?来试试 Maddy __2023年8月5日 __3条评论 __296次阅读 __0人点赞 __Tao_Qi 介绍: Maddy 是一款用 Go 语言开发的邮件服务器,部署方便,资源占用少,是一款适合个人使用的邮箱服务器。
    应 hug1013 的回复写一篇部署教程,其他的Seeker如果有想要部署的项目也可以在评论区提出来哦。 环境要求: 需要开放25端口,可以在本地服务器上使用如下指令检测:
    [code]

    telnet [ip地址] 25
    

    [/code]

    如果端口是打开的,你会看到类似这样的输出:
    [code]

    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 mail.example.com ESMTP Postfix
    

    [/code]

    如果端口是关闭的,你会看到类似这样的输出:
    [code]

    Trying 127.0.0.1...
    telnet: Unable to connect to remote host: Connection refused
    

    [/code]

    可以尝试发工单要求开放25端口,不过一般很难成功。 部署方法: 第一步:更新源并安装依赖 Ubuntu/Debian:
    [code]

    apt update -y && apt upgrade -y    
    

    [/code]

    Centos:
    [code]

    yum update -y && yum upgrade -y   
    

    [/code]

    第二步:安装并配置Docker 安装Docker:
    [code]

    curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh ./get-docker.sh
    

    [/code]

    启动Docker:
    [code]

    sudo systemctl start docker
    

    [/code]

    设置Docker在开机时自动启动:
    [code]

    sudo systemctl enable docker
    

    [/code]

    第三步:获取TLS证书 安装Certbot:
    Ubuntu/Debian:
    [code]

    sudo apt-get install certbot
    

    [/code]

    Centos:
    [code]

    sudo yum install certbot
    

    [/code]

    获取TLS证书[记得修改成自己域名]:
    [code]

    sudo certbot certonly --standalone -d mail.example.com
    

    [/code]

    按照提示操作,将获得证书和私钥,存储在 /etc/letsencrypt/live/mail.example.com/ 目录下。 第四步:创建Docker数据卷
    [code]

    docker volume create maddydata
    

    [/code]

    第五步:安装并启动maddy容器
    [code]

    docker run -d --name maddy \
      -e MADDY_HOSTNAME=mail.example.com \
      -e MADDY_DOMAIN=example.com \
      -v maddydata:/data \
      -p 25:25 \
      -p 143:143 \
      -p 587:587 \
      -p 993:993 \
      foxcpp/maddy:latest
    

    [/code]

    第六步:拷贝TLS证书并重启Docker容器
    [code]

    docker cp /etc/letsencrypt/live/mail.example.com/cert.pem maddy:/data/tls/fullchain.pem
    docker cp /etc/letsencrypt/live/mail.example.com/privkey.pem maddy:/data/tls/privkey.pem
    docker restart maddy
    

    [/code]

    第七步:配置 DNS 记录解析 记录类型域名值
    Amail.example.com.服务器ipv4地址
    Aexample.com.服务器ipv4地址
    AAAAmail.example.com.服务器ipv6地址(如果有)
    AAAAexample.com.服务器ipv6地址(如果有)
    MXexample.com.mail.example.com
    TXTmail.example.com.v=spf1 mx ~all
    TXTexample.com.v=spf1 mx ~all
    TXT_dmarc.example.com.v=DMARC1; p=quarantine; ruf=mailto:[[email protected]](</cdn-cgi/l/email-protection>)
    TXT_mta-sts.example.com.v=STSv1; id=1
    TXT_smtp._tls.example.com.v=TLSRPTv1;rua=mailto:[[email protected]](</cdn-cgi/l/email-protection>)

    还需要生成 DKIM 密钥来配置 DKIM 记录解析,具体步骤如下:

    1. 在查找example.org_default.dns.,这应该在第一次启动时生成
    2. 打开这个文件,这将显示类似于 v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl owES7j7OlEv0laaDEDBAqg= 的内容。为 default._domainkey.example.com. 添加TXT记录,值设置为这个内容。

    第八步:创建发送账户
    [code]

    docker exec -it maddy sh
    maddyctl creds create [[email protected]](</cdn-cgi/l/email-protection>)
    maddyctl imap-acct create [[email protected]](</cdn-cgi/l/email-protection>)
    

    [/code]

    安全上的注意事项:

    1. 推荐运行启用 DNSSEC 验证的自己的 DNS 解析器。
    2. SMTP 本身并不受活动攻击的保护。建议使用 MTA-STS 策略,使得发信服务器在发送电子邮件到接收服务器时,强制使用经过身份验证的 TLS 连接,以防止主动的网络攻击。

    创建如下文件,使他能在https://mta-sts.example.com/.well-known/mta-sts.txt中找到:

    [code]

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

    [/code]

    1. 推荐设置 TLSA (DANE) 记录。

    使用 https://www.huque.com/bin/gen_tlsa 去创建一个,端口为 25, 传输协议改为 "tcp",域名改为 MX 主机名。
    例如:

    [code]

    _25._tcp.mail.example.com. TLSA 3 1 1 7f59d873a70e224b184c95a4eb54caa9621e47d48b4a25d312d83d96e3498238
    

    [/code]

    相关地址: 项目地址:http://github.com/foxcpp/maddy 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议

    1. qige说道: 2023年8月5日 下午11:43
    2. ratneo说道: 2023年8月6日 上午10:52 很赞的教程,感谢大佬的无私奉献

    参照着给自己建了个私人邮局(中间还是踩了些坑的)
    晚点放个带webmail的补充版 效果图
    回复

    1. yun说道: 2023年8月6日 下午3:21

    发表回复 取消回复电子邮件地址不会被公开。必填项已用 标注 __ __

    本文著作权归作者 [ doudoudoubao ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    Linux
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.002 s
    Theme by OneBlog V3.7.1
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。