Hexo个人博客
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.2 KiB

title tags categories keywords description abbrlink date
NAS使用SnappyMail搭建个人WebMail [网络 NAS技术 自建服务] NAS技术 webmail,snappymail,docker,nas 使用 docker-compose 搭建 SnappyMail 个人 WebMail 服务 1781251812 2025-02-22 11:02:22

在 NAS 上搭建个人的 WebMail 服务可以让我们通过浏览器随时随地管理邮件。本文将介绍如何使用 docker-compose 来搭建 SnappyMail 服务,SnappyMail相对于其他的 WebMail 客户端,对于多账号的支持更加友好。如图是配置好的snappymail截面。

什么是 SnappyMail

SnappyMail 是一个开源的 WebMail 客户端,它是 RainLoop 的一个分支。它提供了现代化的界面和丰富的功能,支持多种邮件协议(IMAP/SMTP),并且可以轻松地通过 Docker 部署。

部署 SnappyMail

准备工作

首先创建项目目录并进入:

mkdir -p ~/docker/snappymail/snappymail
cd ~/docker/snappymail

创建配置文件

创建 docker-compose.yml 文件:

---
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
  • 检查账号密码是否正确
  • 某些邮件服务可能需要设置应用专用密码
  • 配置过程中遇到问题的可以在评论区讨论