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

简介
什么是 Mail-Archiver ?
Mail-Archiver是一个用于从多个IMAP账户归档、搜索和导出电子邮件的web应用程序。它提供了一种全面的解决方案,帮助用户管理和存储电子邮件。
主要特点
-
📌自动归档:自动归档进出邮件,支持多个
IMAP账户。 -
📎存储内容与附件:存储电子邮件内容及其附件,确保数据完整性。
-
🔄文件夹同步:支持文件夹同步,定期以可配置的时间间隔进行同步。
-
🔍高级搜索功能:可以根据日期范围、发件人、收件人等条件搜索归档的电子邮件。
-
📊仪表板与统计:提供账户特定的统计和概述,监控存储使用情况和发件人分析。
-
📤导出功能:支持将单个电子邮件导出为
EML格式,以及将搜索结果批量导出为CSV或JSON格式。 -
📧邮件恢复功能:允许将选定的电子邮件或整个邮箱恢复到目标邮箱。
-
📱响应式用户界面:设计为适应移动和桌面设备的用户界面。
应用场景
-
企业邮件管理:适用于需要集中管理和归档大批量电子邮件的企业,确保信息的可追溯性和合规性。
-
个人邮件归档:个人用户可以使用
Mail-Archiver来管理多个电子邮件账户,确保重要邮件的备份。 -
数据迁移:在更换邮件服务提供商时,
Mail-Archiver支持邮箱迁移,方便用户将邮件从一个账户转移到另一个账户。 -
邮件搜索与分析:可用于需要快速搜索和分析大量邮件的场景,例如法律合规审核或市场调研。

Mail-Archiver 是一个功能强大且灵活的工具,适合个人和企业用户使用,以提高邮件管理的效率和安全性。
安装
在群晖上以 Docker 方式安装。
本文写作时,
s1t5/mailarchiver:latest版本对应为2507.1;
涉及到两个容器,采用 docker-compose 方式安装
appsettings.json
appsettings.json 为设置文件,包含了数据库、用户设置等
-
数据库需要根据
docker-compose.yml中postgres数据库的环境变量设置进行修改 -
登录用户可根据自己的需要设置用户名和密码,下面的示例为
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:latest
container_name:mailarchive-app
restart:always
ports:
-"5545:5000"
volumes:
-./appsettings.json:/app/appsettings.json
-./logs:/app/logs
depends_on:
postgres:
condition:service_healthy
postgres:
image:postgres:17-alpine
container_name:mailarchive-db
restart:always
environment:
POSTGRES_DB:MailArchiver
POSTGRES_USER:mailuser
POSTGRES_PASSWORD:masterkey
volumes:
-./data:/var/lib/postgresql/data
ports:
-"5544:5432"
healthcheck:
test:["CMD-SHELL","pg_isready -U mailuser -d MailArchiver"]
interval:10s
timeout:5s
retries:5
start_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 Server:imap服务器地址 -
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/
@所有人:写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。