📦 Flectar Mail 详细部署教程

Flectar Mail 是一款轻量级、原生的电子邮件客户端,集成了日历和联系人功能。它使用 Rust 构建,启动迅速,内存占用极低(可低至 20 MB),并且不是浏览器套壳,因此性能出色。目前项目仍处于积极开发中,尚未发布稳定版本,但已可构建和试用。


⚙️ 部署前准备

根据你的使用方式,需要准备不同的环境。

方式一:下载官方预编译包(等待发布)

目前项目团队正在等待 Google 和 Microsoft 完成 OAuth 应用验证,之后将发布第一个预览版本。届时,你可以从 GitHub Releases 页面 下载适用于你系统的安装包:

  • Linux x64.AppImage.deb
  • Windows x64:便携版 .zip 压缩包
  • macOS (Apple Silicon).zip 应用包
  • Android:开发中,即将支持

方式二:从源码构建(适用于开发者或尝鲜者)

这是目前唯一可用的部署方式,适合希望提前体验或参与贡献的用户。

1. 环境要求

  • Rust 工具链:包括 rustccargorustup。推荐通过 rustup.rs 安装。
  • Git:用于克隆仓库。
  • 依赖项:根据你的操作系统,可能需要安装额外的系统库(如 cmakepkg-configlibssl-devlibxcb 相关库等)。Rust 编译时会提示缺失的依赖。

2. 克隆并构建

打开终端,执行以下命令:

1
2
3
4
5
6
# 1. 克隆仓库
git clone https://github.com/flectar/mail.git
cd mail

# 2. 运行项目(Cargo 会自动下载依赖并编译)
cargo run --bin flectar-mail

首次编译会下载并编译所有 Rust 依赖,可能需要较长时间(取决于网络和机器性能)。编译成功后,Flectar Mail 应用会自动启动。

注意:项目的核心是 crates/ 目录下的多个 Rust 工作空间成员,主入口是 src/ 目录下的二进制文件。


🔧 首次使用与配置

登录您的邮箱账户

启动应用后,你需要添加一个邮箱账户。Flectar Mail 支持以下协议和提供商:

  • Gmail
  • Outlook / Microsoft 365
  • 标准 IMAP/SMTP 服务
  • JMAP 协议
  • CalDAV (日历)

配置要点

  • OAuth 支持:对于 Gmail 和 Outlook,项目正在等待官方的 OAuth 应用验证。在预览版发布前,你可能需要手动生成并使用应用专用密码 (App Password) 进行登录,尤其是在启用了两步验证的账户上。
  • 服务器设置:对于 IMAP/SMTP,你需要知道你的邮件服务提供商的服务器地址、端口和加密方式(通常为 SSL/TLS)。

界面概览

Flectar Mail 提供了灵活的工作区布局:

  • 完整工作区:经典的三栏布局,左侧是文件夹列表,中间是邮件列表,右侧是阅读窗格。
  • 极简工作区:减少视觉干扰,为内容提供更多空间。
  • 明/暗主题:支持内置的明暗主题切换。
  • 颜色调色板:你可以选择内置的配色方案(如 Teal、Green、Purple)或创建自定义颜色。

实验性 HTML 渲染

Flectar Mail 使用 Blitz(一个 Rust 原生 HTML/CSS 渲染引擎)来渲染邮件内容,而不是嵌入 WebView。这使其能保持低内存占用,但对于格式复杂的邮件,渲染效果可能还不完美。如果你遇到渲染问题,欢迎在 GitHub 上报告。


📂 数据存储与隐私

  • 本地优先:你的邮件、日历和联系人数据默认存储在本地,即使离线也可访问。
  • 隐私保护
    • 默认阻止远程图片:这有助于防止发件人通过跟踪像素获取你的阅读状态。
    • 无 WebView 执行环境:邮件中的脚本不会被自动执行,从根本上避免了基于嵌入式浏览器的攻击面。
  • 数据位置:具体的数据存储路径因操作系统而异,通常位于用户配置目录下(如 ~/.config/flectar-mail~/Library/Application Support/flectar-mail)。

❓ 常见问题

  • Q: 目前版本稳定吗?适合日常使用吗?
    • A: 项目目前处于开发中,尚未稳定,不建议作为主力邮件客户端使用。它适合开发者测试、贡献代码,或对 Rust 技术感兴趣的爱好者尝鲜。
  • Q: 如何报告渲染错误或功能建议?
    • A: 你可以在项目的 GitHub Issues 页面 提交反馈。对于渲染问题,请附上导致问题的邮件原文(注意脱敏)。
  • Q: 为什么不直接使用 WebView (如 Tauri)?
    • A: 项目的核心设计目标是极致的性能和低内存占用。使用 Rust 原生渲染管线 (Blitz) 可以避免加载整个浏览器引擎,从而将内存占用控制在约 20 MB,启动速度也显著提升。
  • Q: 编译时遇到依赖错误怎么办?
    • A: 通常是因为缺少系统级开发库。请仔细阅读编译器的错误提示,搜索并安装对应的包(如在 Ubuntu 上安装 libssl-devlibxcb-shape0-dev 等)。对于 macOS,确保已安装 Xcode 命令行工具。

🧑‍💻 参与贡献

Flectar Mail 是一个开源项目 (AGPLv3),欢迎贡献代码、翻译或报告问题。在贡献前,请阅读项目中的 CONTRIBUTING.mdCLA.md(贡献者许可协议)文件。

更详细的开发文档、架构说明和路线图,请查阅项目根目录下的文档和 官方网站