邮件归档与全文检索利器Bichon

本文软件由网友 P家单推人 推荐;

简介

什么是 Bichon ?

Bichon 是一个用 Rust 编写的轻量级、高性能的电子邮件归档系统,并提供了一个现代化的 WebUI。它的主要功能是从 IMAP 服务器同步您的电子邮件,为它们建立索引以实现快速的全文搜索,并提供一个 REST API 以便进行编程访问。不同于常规的邮件客户端,Bichon 专注于邮件的历史归档和搜索,而不是实时收发。它作为一个独立的服务器应用,可以持续同步您配置的邮件账户,并维护一个可搜索的本地副本。

主要特点

  • 轻量与独立 :使用 Rust 构建,零外部依赖,单个可执行文件包含了后端和 WebUI。
  • 多账户支持:能够从多个邮件账户同步和下载邮件。
  • 强大认证 :支持 IMAP 密码或 OAuth2 登录,并为 OAuth2 提供了内置的 WebUI 授权流程。
  • OpenAPI 支持 :提供可编程访问的 OpenAPI,方便与其他系统集成。
  • 统一搜索: 强大的多账户搜索功能,可以按发件人、附件、大小、日期、主题和正文等多种条件进行搜索。
  • 标签与层次化管理:利用标签来组织邮件,高效过滤和定位。
  • 高效存储:对邮件内容进行透明的压缩和去重,节省存储空间。
  • 邮件管理 :支持批量清理本地归档,下载 .eml 格式的原始邮件或单个附件。
  • 数据洞察:提供仪表盘,可视化邮件统计数据,如数量、时间分布、热门发件人等。
  • 国际化 :WebUI 已被翻译成 17 种语言。

应用场景

  • 个人邮件备份 : 长期、可靠地备份来自多个邮箱(如 Gmail, Outlook, QQ邮箱)的所有邮件。
  • 知识管理: 将邮件作为个人知识库的一部分,随时进行全文检索,快速找到所需信息。
  • 隐私保护: 在本地保留邮件副本,即使云端邮件被删除或服务不可用,也能保证数据安全。
  • 开发者集成 : 通过其 OpenAPI 与其他应用或工作流集成。

Bichon 是一个功能强大且灵活的解决方案,适合需要长期存储及管理电子邮件的用户和组织。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 rustmailer ,选择第二个 rustmailer/bichon,版本选择 latest。

本文写作时, latest 版本对应为 0.1.1;

卷

在 docker 文件夹中,创建一个新文件夹 bichon,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/bichon/data /data 存放应用数据、配置和索引文件等

端口

本地端口不冲突就行。

本地端口 容器端口
15630 15630

环境

变量 值 说明
BICHON_LOG_LEVEL info 日志级别
BICHON_ROOT_DIR /data 数据存储目录
BICHON_CORS_ORIGINS http://群晖IP:15630 重要: 设置为你的访问地址

如果不设置 BICHON_CORS_ORIGINS 或者设置错误,会导致页面上进入二级菜单会显示错误

更多的环境变量,请参考官方文档:https://github.com/rustmailer/bichon/wiki/Configuration-Reference#bichon-configuration-reference

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 bichon 和 子目录
mkdir -p /volume1/docker/bichon/data

# 进入 bichon 目录
cd /volume1/docker/bichon

# 运行容器
docker run -d \
  --name bichon \
  -p 15630:15630 \
  -v $(pwd)/data:/data \
  -e BICHON_LOG_LEVEL=info \
  -e BICHON_ROOT_DIR=/data \
  -e BICHON_CORS_ORIGINS=http://your_nas_ip:15630 \
  rustmailer/bichon:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  bichon:
    image: rustmailer/bichon:latest
    container_name: bichon
    restart: unless-stopped
    ports:
      - 15630:15630
    volumes:
      - ./data:/data
    environment:
      - BICHON_LOG_LEVEL=info
      - BICHON_ROOT_DIR=/data
      # 重要:取消下面的注释并替换为你的访问地址,例如 http://192.168.0.197:15630
      # - BICHON_CORS_ORIGINS=http://your_nas_ip:15630

然后通过 SSH 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 bichon 和 子目录
mkdir -p /volume1/docker/bichon/data

# 进入 bichon 目录
cd /volume1/docker/bichon

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d 

运行

在浏览器中输入 http://群晖IP:15630 就能看到主界面。

如果不能自动识别为中文,可以手动切换

现在看起来是不是顺眼多了

接下来需要添加你的 IMAP 邮箱账户

还是以 88 邮箱为例

使用了 SSL 协议和端口号

认证方式选择了 Password

Gmail 和 Outlook 支持 OAuth2 认证方式。需要先在 Google Cloud Console(针对 Gmail)和 Microsoft Azure Portal(针对 Outlook)分别创建 OAuth 2.0 应用凭证,包括客户端 ID和客户端密钥,再配置相应的回调地址和权限范围

同步偏好默认就行

账号创建成功后

就可以同步邮件了

可以选择需要同步的文件夹

如果设置没问题,可以在 邮件 中看到对应文件夹中的邮件

尝试搜索包含 mariadb 的邮件

速度很快,需要关闭搜索界面才能看到邮件

回到仪表板

参考文档

rustmailer/bichon: Bichon -- A lightweight, high-performance Rust email archiver with WebUI

地址:https://github.com/rustmailer/bichon
Home · rustmailer/bichon Wiki

地址:https://github.com/rustmailer/bichon/wiki

相关推荐
m0_6464299716 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
吴声子夜歌18 小时前
Docker入门与实战——实战案例(Web服务与应用)
docker·容器
Wang's Blog19 小时前
Java 项目部署之 Docker工具快速入门: Docker 架构拆解:镜像、容器、守护进程与 Registry
java·docker·架构
java_logo19 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
a59865219 小时前
Docker云手机搭建挂机环境,外网远程访问完整实操
docker·容器·智能手机·云手机
夜之眷属19 小时前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
郭老二21 小时前
【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
VX130715441221 天前
测绘资质延续申请申报材料常见退件问题及解答
搜索引擎·arcgis·全文检索
Wang's Blog1 天前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代1 天前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent