--- title: NAS使用SnappyMail搭建个人WebMail tags: - 网络 - NAS技术 - 自建服务 categories: NAS技术 keywords: 'webmail,snappymail,docker,nas' description: 使用 docker-compose 搭建 SnappyMail 个人 WebMail 服务 abbrlink: 1781251812 date: 2025-02-22 11:02:22 --- >在 NAS 上搭建个人的 WebMail 服务可以让我们通过浏览器随时随地管理邮件。本文将介绍如何使用 docker-compose 来搭建 SnappyMail 服务,SnappyMail相对于其他的 WebMail 客户端,对于多账号的支持更加友好。如图是配置好的snappymail截面。 # 什么是 SnappyMail SnappyMail 是一个开源的 WebMail 客户端,它是 RainLoop 的一个分支。它提供了现代化的界面和丰富的功能,支持多种邮件协议(IMAP/SMTP),并且可以轻松地通过 Docker 部署。 # 部署 SnappyMail ## 准备工作 首先创建项目目录并进入: ```bash mkdir -p ~/docker/snappymail/snappymail cd ~/docker/snappymail ``` ## 创建配置文件 创建 docker-compose.yml 文件: ```yaml --- version: "2.1" services: email: image: djmaze/snappymail container_name: email environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - DEBUG=true volumes: - ./snappymail:/var/lib/snappymail ports: - "8888:8888" restart: unless-stopped php-fpm-exporter: image: hipages/php-fpm_exporter:2.2.0 ports: - 9253:9253 environment: - PHP_FPM_SCRAPE_URI=tcp://email:9000/status networks: default: external: name: docker_default ``` ## 启动服务 执行以下命令启动服务: ``` # 创建docker网络,如果已经有docker_default网络,则不需要。 docker network create -d bridge --attachable=true docker_default # 启动npm docker-compose up -d # 查看启动日志 docker-compose logs -f ``` # 配置 SnappyMail 1. 在~/docker/snappymail/snappymail/_data_/admin_password.txt文件,文件中的内容就是默认的admin密码。 2. 访问管理界面: http://你的IP:8888/?admin(注意后面有个?admin) 3. 默认管理员账号密码:admin/(步骤1获取的密码) 4. 首次登录后请修改管理员密码 ## 添加邮件域名 1. 在管理界面中,点击 "域名" 菜单 2. 点击 "添加域名" 按钮 3. 填写你的邮件服务器信息: - IMAP 服务器地址和端口 - SMTP 服务器地址和端口 - 是否启用 SSL/TLS 如图是我的配置: ## 访问 WebMail 配置完成后,用户可以通过 http://你的IP:8888 访问 WebMail 界面,使用自己的邮箱账号和密码登录。 > 注意url后面不带?admin,登录时使用的是自己邮箱的账号密码,不是刚才admin的密码。 # 安全建议 1. 建议使用反向代理(如 Traefik)并配置 SSL 证书 2. 修改默认管理员密码 3. 限制管理界面的访问IP # 常见问题 ## 无法连接邮件服务器 - 检查邮件服务器地址和端口是否正确 - 确认服务器是否支持 SSL/TLS - 检查账号密码是否正确 - 某些邮件服务可能需要设置应用专用密码 - 配置过程中遇到问题的可以在评论区讨论