进阶技巧

飞牛NAS搭建邮件服务器全攻略

准备工作:域名与端口

在开始搭建之前,有几项硬性条件需要确认。首先,你需要一个属于自己的域名,并且能够修改该域名的 DNS 解析记录。如果你只是想在内网测试,可以使用 mail.local 之类的假域名,但若要接收外部邮件,则必须要有真实域名。

其次,邮件服务依赖以下端口,请确保你的路由器和光猫已做好端口转发,并且运营商没有封禁这些端口:25(SMTP)、465(SMTPS)、587(提交)、993(IMAPS)、995(POP3S)。国内家用宽带通常封禁 25 端口,因此建议使用 465 或 587 作为发送端口。

DNS 记录配置

在域名控制台添加以下解析记录: - A 记录:mail 指向你的 NAS 公网 IP - MX 记录:@ 指向 mail.yourdomain.com,优先级 10 - SPF 记录(TXT):v=spf1 mx ~all - DKIM 记录(TXT):稍后生成后填入

安装与基础配置

飞牛 NAS 的 Docker 功能非常成熟,我们直接使用 mailserver 镜像来搭建。打开 Docker 应用,搜索 mailserver,选择 docker.io/mailserver/docker-mailserver 镜像并下载。

创建目录结构

在文件管理器中创建以下目录:

/docker/mailserver/data
/docker/mailserver/config
/docker/mailserver/state

编写 docker-compose.yml

/docker/mailserver/ 下新建 docker-compose.yml,内容如下:

services:
  mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    container_name: mailserver
    hostname: mail
    domainname: yourdomain.com
    ports:
      - "25:25"
      - "465:465"
      - "587:587"
      - "993:993"
      - "995:995"
    volumes:
      - ./data:/var/mail
      - ./config:/tmp/docker-mailserver
      - ./state:/var/mail-state
    environment:
      - ENABLE_SPAMASSASSIN=1
      - ENABLE_CLAMAV=1
      - ENABLE_FAIL2BAN=1
      - ENABLE_POSTGREY=1
      - ONE_DIR=1
      - DMS_DEBUG=0
    restart: unless-stopped

yourdomain.com 替换为你的真实域名。保存后,在飞牛 NAS 的 SSH 终端中执行:

cd /docker/mailserver
docker compose up -d

等待镜像拉取并启动,首次启动会自动生成基础配置。

配置域名与邮箱账户

生成 DKIM 密钥

进入容器生成 DKIM 密钥:

docker exec -it mailserver setup config dkim

执行完毕后,在 /docker/mailserver/config/opendkim/keys/yourdomain.com/ 下会生成 mail.txt 文件。打开该文件,将其中 p= 后面的内容复制到域名 DNS 的 TXT 记录中,记录名为 mail._domainkey

添加邮箱账户

创建第一个邮箱账户:

docker exec -it mailserver setup email add [email protected]

系统会提示设置密码。重复执行该命令可添加更多账户。若要删除账户,使用:

docker exec -it mailserver setup email del [email protected]

配置邮件别名

/docker/mailserver/config/postfix-virtual.cf 文件中添加别名映射:

[email protected]    [email protected]
[email protected]     [email protected]

保存后重启容器:

docker exec -it mailserver supervisorctl restart postfix

开启 SSL 证书

飞牛 NAS 自带证书管理功能。在「设置」-「证书」中申请 Let's Encrypt 证书,或者手动上传已有证书。将证书文件复制到容器配置目录:

cp /path/to/your/cert.pem /docker/mailserver/config/ssl/cert.pem
cp /path/to/your/key.pem /docker/mailserver/config/ssl/key.pem

重启容器使证书生效:

docker compose restart

客户端连接设置

邮件客户端(Outlook/Thunderbird)

  • 收件服务器(IMAP):mail.yourdomain.com,端口 993,SSL/TLS
  • 发件服务器(SMTP):mail.yourdomain.com,端口 465,SSL/TLS
  • 用户名:完整邮箱地址
  • 认证方式:普通密码

飞牛 NAS 自带邮件客户端

在飞牛 NAS 的「应用中心」安装「飞牛邮件」应用,进入设置页面,填写: - 邮件服务器:localhost - IMAP 端口:993 - SMTP 端口:465 - 账号密码:刚才创建的用户

常见问题排查

无法发送邮件到 Gmail/Outlook

首先检查 SPF 记录是否生效:

dig TXT yourdomain.com

确认返回中包含 v=spf1 mx ~all。其次,检查服务器 IP 是否被列入黑名单,可通过 whatismyipaddress.com 查询。

收不到外部邮件

登录 NAS 后台,查看日志:

docker logs mailserver | grep -i "error"

常见的原因为 25 端口被运营商封锁,或者 MX 记录解析不正确。可以尝试使用 telnet mail.yourdomain.com 25 测试外部连通性。

频繁被暴力破解

启用 Fail2ban 后,系统会自动封禁多次尝试登录的 IP。查看封禁列表:

docker exec -it mailserver setup fail2ban

总结

通过上述步骤,你已经在飞牛 NAS 上成功搭建了一个功能完整的邮件服务器。整个过程利用 Docker 容器化部署,既保持了系统的整洁,又便于后续升级维护。虽然初次配置涉及 DNS、证书等环节,但只要按照流程操作,半小时内即可完成。这套方案支持多域名、多账户,并且内置了垃圾邮件过滤和病毒扫描,足以满足个人或小型团队的使用需求。最后提醒一句:请务必做好数据备份,邮件数据一旦丢失将难以找回。

💬 评论区
发表评论

暂无评论,来说两句吧