当前位置: 首页 > news >正文

IMAP电子邮件归档系统Mail-Archiver

在这里插入图片描述

简介

什么是 Mail-Archiver ?

Mail-Archiver 是一个用于从多个 IMAP 账户归档、搜索和导出电子邮件的 web 应用程序。它提供了一种全面的解决方案,帮助用户管理和存储电子邮件。

主要特点

  1. 📌自动归档:自动归档进出邮件,支持多个 IMAP 账户。
  2. 📎存储内容与附件:存储电子邮件内容及其附件,确保数据完整性。
  3. 🔄文件夹同步:支持文件夹同步,定期以可配置的时间间隔进行同步。
  4. 🔍高级搜索功能:可以根据日期范围、发件人、收件人等条件搜索归档的电子邮件。
  5. 📊仪表板与统计:提供账户特定的统计和概述,监控存储使用情况和发件人分析。
  6. 📤导出功能:支持将单个电子邮件导出为 EML 格式,以及将搜索结果批量导出为 CSVJSON 格式。
  7. 📧邮件恢复功能:允许将选定的电子邮件或整个邮箱恢复到目标邮箱。
  8. 📱响应式用户界面:设计为适应移动和桌面设备的用户界面。

应用场景

  • 企业邮件管理:适用于需要集中管理和归档大批量电子邮件的企业,确保信息的可追溯性和合规性。
  • 个人邮件归档:个人用户可以使用 Mail-Archiver 来管理多个电子邮件账户,确保重要邮件的备份。
  • 数据迁移:在更换邮件服务提供商时,Mail-Archiver 支持邮箱迁移,方便用户将邮件从一个账户转移到另一个账户。
  • 邮件搜索与分析:可用于需要快速搜索和分析大量邮件的场景,例如法律合规审核或市场调研。

Mail-Archiver 是一个功能强大且灵活的工具,适合个人和企业用户使用,以提高邮件管理的效率和安全性。

安装

在群晖上以 Docker 方式安装。

本文写作时, s1t5/mailarchiver:latest 版本对应为 2507.1

涉及到两个容器,采用 docker-compose 方式安装

appsettings.json

appsettings.json 为设置文件,包含了数据库、用户设置等

  1. 数据库需要根据 docker-compose.ymlpostgres 数据库的环境变量设置进行修改
  2. 登录用户可根据自己的需要设置用户名和密码,下面的示例为 admin/secure123!
{"ConnectionStrings": {"DefaultConnection": "Host=postgres;Database=MailArchiver;Username=mailuser;Password=masterkey"},"Authentication": {"Enabled": true,"Username": "admin","Password": "secure123!","SessionTimeoutMinutes": 60,"CookieName": "MailArchiverAuth"},"MailSync": {"IntervalMinutes": 5,"TimeoutMinutes": 60,"ConnectionTimeoutSeconds": 180,"CommandTimeoutSeconds": 300},"BatchRestore": {"AsyncThreshold": 50,"MaxSyncEmails": 150,"MaxAsyncEmails": 50000,"SessionTimeoutMinutes": 30,"DefaultBatchSize": 50},"Npgsql": {"CommandTimeout": 600},"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*"
}

docker-compose.yml

将下面的内容保存为 docker-compose.yml 文件

services:mailarchive-app:image: s1t5/mailarchiver:latestcontainer_name: mailarchive-apprestart: alwaysports:- "5545:5000"volumes:- ./appsettings.json:/app/appsettings.json- ./logs:/app/logsdepends_on:postgres:condition: service_healthypostgres:image: postgres:17-alpinecontainer_name: mailarchive-dbrestart: alwaysenvironment:POSTGRES_DB: MailArchiverPOSTGRES_USER: mailuserPOSTGRES_PASSWORD: masterkeyvolumes:- ./data:/var/lib/postgresql/dataports:- "5544:5432"healthcheck:test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"]interval: 10stimeout: 5sretries: 5start_period: 10s

然后执行下面的命令

# 新建文件夹 mailarchiver 和 子目录
mkdir -p /volume1/docker/mailarchiver/{data,logs}# 进入 mailarchiver 目录
cd /volume1/docker/mailarchiver# 将 docker-compose.yml 和 appsettings.json 放入当前目录# 一键启动
docker-compose up -d 

运行

在浏览器中输入 http://群晖IP:5545 就能看到登录界面

    "Username": "admin","Password": "secure123!",

切换到 Accounts --> Add Account

填写邮件信息

88 邮件为例

  • Account Name:名称
  • Email Address:邮件地址
  • IMAP Serverimap 服务器地址
  • Username:邮件账号
  • Password:邮件密码

保存之后

Sync

回到主界面会看到一些统计信息

参考文档

s1t5/mail-archiver: Mail-Archiver is a web application for archiving, searching, and exporting emails from multiple IMAP accounts. Featuring folder sync, attachment support, mailbox migration and a dashboard.
地址:https://github.com/s1t5/mail-archiver

My self hosted E-Mail archive : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1lveeub/my_self_hosted_email_archive/

http://www.xdnf.cn/news/1229671.html

相关文章:

  • rabbitmq消息队列详述
  • 【Android】使用 Intent 传递对象的两种序列化方式
  • 深度学习-模型初始化与模型构造
  • 高性能MCP服务器架构设计:并发、缓存与监控
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情数据可视化分析-热词情感趋势树形图
  • 【机器学习】非线性分类算法详解(下):决策树(最佳分裂特征选择的艺术)与支持向量机(最大间隔和核技巧)
  • 在 AKS 中运行 Azure DevOps 私有代理-1
  • Linux性能监控与调优全攻略
  • React ahooks——副作用类hooks之useThrottleFn
  • React ahooks——副作用类hooks之useDebounceFn
  • Shell【脚本 02】离线安装配置Zookeeper及Kafka并添加service服务和开机启动(脚本分析)
  • 堆----1.数组中的第K个最大元素
  • 通过filezilla在局域网下实现高速传输数据
  • 2025-08 安卓开发面试拷打记录(面试题)
  • 【龙泽科技】汽车故障诊断仿真教学软件【风光580】
  • Vue 详情模块 4
  • Python科研数据可视化技术
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例
  • 在 AKS 中运行 Azure DevOps 自托管代理-2
  • 线程池的实现
  • 能力显著性向量:验证损失与下游能力的缩放定律
  • k8s使用 RBAC 鉴权
  • 如何在 Ubuntu 24.04 或 22.04 LTS Linux 上安装 Guake 终端应用程序
  • Allegro降版本工具
  • 学习笔记:无锁队列的原理以及c++实现
  • C# 中抽象类、密封类、静态类和接口的区别
  • Qt 信号和槽正常连接返回true,但发送信号后槽函数无响应问题【已解决】
  • WinForm之ListBox 控件
  • Qt 槽函数被执行多次,并且使用Qt::UniqueConnection无效【已解决】
  • 电子电气架构 --- 汽车网络安全概述