Katna · Linux 自由软件

一款快速、现代的邮件应用为 Linux 桌面而做

Katna Mail、Katna Calendar,加上一个小巧的后台服务,用 Rust 编写,在 KDE Plasma 和 GNOME 上都用得自在。它是 KDE PIM 之外的另一个选择,以 GPL 许可免费提供。

仍处于早期开发阶段。Katna Mail 每天都在真实账户上使用,每次改动之后都会有一个预构建的 Arch Linux 软件包。

桌面尺寸窗口中的 Katna Mail,一半是浅色主题,一半是深色主题,列表旁边打开着一段会话

一个个人项目

灵感来自

GmailMailspringThunderbird

Katna Mail 并不想标新立异,也不想颠覆什么。它是一个很个人的项目:是作者想在自己的 Linux 桌面上用的那款邮件客户端。

它的功能和外观坦然借鉴了作者喜爱的几款邮件应用,主要是 Gmail、Mailspring 和 Thunderbird,再用 Rust 重新实现,配上 Katna 自己的名字和图标。

Katna 之所以能够诞生,要归功于大语言模型如今的长足进步。完整的邮件客户端向来需要一整个团队来完成,而它们让一个人也能用心把它做出来。每一个界面依然由作者亲自设计、逐像素检查,并在真实的桌面上、用真实的邮件每天使用。

它擅长什么

Katna Mail 最看重的四件事。

即时搜索

可容错拼写的全文搜索,面对超大邮箱也不在话下。在 Enron 语料库的 517,000 封邮件上,一次查询的中位耗时为 2.4 ms,p99 为 9.7 ms。

关掉窗口也照常工作

一个小巧的后台服务负责同步、通知和发送定时邮件,其二进制文件不到 20 MB。

原生的感觉

跟随系统颜色和强调色,托盘图标带未读标记,支持 KDE 全局菜单和可直接操作的桌面通知,还会把您的 KDE 用户头像用作您自己的头像。

本地优先,保护隐私

您的邮件留在您自己的电脑上,远程内容默认被屏蔽,密码保存在您的密钥环中,TLS 则是纯 Rust 实现。

一个应用,适配各种屏幕

桌面、平板和手机布局都在同一个应用里,浅色深色皆有。下面的图片会跟随本站自身的浅色或深色主题。

平板布局,列表旁边打开着一段会话
平板:列表与会话并排显示
手机布局,每封邮件旁边有一张头像,还有一个写邮件按钮
手机:像手机应用一样排布
列表旁边打开着一封经过加密和签名的邮件,标记为已验证
加密与签名邮件
在 Katna Mail 内置查看器中打开的 PDF 附件
内置查看器,可查看 PDF、图片、表格和文档
KDE Plasma 上的 Katna Mail,全局菜单位于底部,任务栏和托盘图标上显示未读数量
KDE 全局菜单、任务栏计数和托盘标记

Katna Mail 现状

当前版本在真实账户上能做到的事。

  • 账户

    IMAP(IDLE、QRESYNC、标签)、POP3 和 SMTP,并支持服务器自动发现。Gmail 的分类、重要邮件以及重复副本都能妥善处理。

  • 列表与阅读

    会话、分类标签页、星标、重要、置顶、附件标签、悬停操作、可撤销的提示条,以及干净的阅读窗格,能显示 HTML 邮件,深色模式也不例外。

  • 写邮件

    富文本、签名、内联回复、弹出式窗口、定时发送和撤销发送。

  • 加密邮件

    通过您自己的 GnuPG 支持 OpenPGP 和 S/MIME。

  • 附件

    卡片上直接预览、内置查看器、全部保存,并可用任何已安装的应用打开,每种文件类型都能设定默认应用。

  • 融入您的桌面

    托盘图标、未读标记、全局菜单,通知中可直接回复全部、标为已读和归档,浅色和深色主题,还有可选的自绘窗口边框,支持模糊效果。

  • 任意屏幕尺寸

    桌面、平板和手机布局都在同一个应用里。

  • 设置

    账户、签名、键盘快捷键、默认应用等等,另有一段为新用户准备的简短引导。

  • katnactl

    在终端里添加账户、操控后台服务。

接下来

Katna Calendar(CalDAV,日程会显示在 Plasma 时钟里)、通讯录、任务、笔记和订阅源都在计划之中。它们在应用里已经有了位置,标注为即将推出。

Katna Calendar通讯录任务笔记订阅源

阅读实施计划 (在新标签页中打开)

在 Arch Linux 上安装

Katna 的每一次改动都会构建成 Arch Linux 软件包,并以 arch-latest 预发布版的形式发布,它同时也是一个 pacman 软件仓库。

  1. 01

    添加软件仓库

    把下面几行添加到 /etc/pacman.conf。

    [katna]
    SigLevel = Optional TrustAll
    Server = https://github.com/QuakeString/katna/releases/download/arch-latest
  2. 02

    安装并启动

    安装软件包,然后启动后台服务,并让它在每次登录时自动启动。

    sudo pacman -Syu katna-git
    systemctl --user enable --now katna-daemon
  3. 03

    日后更新

    随系统其余部分一起更新,然后重启服务。

    sudo pacman -Syu
    systemctl --user restart katna-daemon

该软件包仅支持 x86_64,暂未签名。密码保存在 Secret Service 中,因此需要运行 GNOME Keyring、KWallet 或 KeePassXC。

其他发行版

Flatpak、.deb、.rpm 等都在计划之中。在那之前,可以用最新稳定版 Rust 从源代码构建 Katna。

站在巨人的肩膀上

没有这些项目和它们背后的人,就没有 Katna。

GPUI 与 Zed (在新标签页中打开)

Katna Mail 的整个界面都构建在 GPUI 之上,这是 Zed Industries 为 Zed 编辑器打造的快速、GPU 加速的 UI 框架。您看到的每一个像素、每一段动画、每一个窗口都由它绘制。感谢 Zed 团队以开放的方式构建它。

Pimalaya (在新标签页中打开)

底层的邮件协议。io-imap、io-smtp 和 io-sasl 负责与您的邮件服务器通信,其下是负责 IMAP 解析的 imap-codec。

KDE (在新标签页中打开)

Plasma 是 Katna 用起来最自在的桌面,而 KDE 自己的 PIM 套件也给了它灵感。

Rust (在新标签页中打开)

让编写一个快速又安全的邮件客户端成为一件乐事。Katna 没有任何 unsafe 代码。

还有底层的这些库

CREDITS.md 列出了 Katna 用到的每一个库,附有作者、许可证和链接。 阅读 CREDITS.md (在新标签页中打开)

谨以此献给 Linux,以及构建它的自由软件社区。

支持 KDE

KDE 打造了 Katna 用起来最自在的桌面,它由志愿者开发,靠像您这样的人资助。如果您喜欢 Plasma 或 KDE 的应用,请考虑向 KDE 捐款。

向 KDE 捐款 (在新标签页中打开)

支持与关注

Katna 是自由软件,以开放的方式构建。如果它对您有帮助,请我喝杯咖啡,就能让它继续走下去。

Katna 采用 GNU General Public License(GNU 通用公共许可证)第 3 版或更高版本(GPL-3.0-or-later)授权。

在 Arch Linux 上安装