FairEmail 会话线程视图详解
什么是会话线程
当你和同事就同一个问题来回发 5 封邮件时,会话线程(Conversation threading)会把这 5 封邮件合并成一个可展开的对话视图,而不是散落在收件箱里的 5 条独立条目。FairEmail 在消息列表默认按会话线程展示,让复杂的邮件往来一目了然。
点击收件箱中某个会话线程,会进入会话详情页面——这里能看到整个对话的时间线,包括原始邮件、你的回复、对方的回复。

FairEmail 的会话线程逻辑
FairEmail 使用 IMAP 的标准 THREAD 扩展(如果服务器支持)来确定邮件之间的关联关系。如果服务器不支持 THREAD 扩展,FairEmail 会退而使用以下启发式规则:
- 相同的
Message-ID或In-Reply-To/References头 - 相似的主题(去除 Re:/Fwd: 前缀后的核心主题匹配)
- 相似的发件人 / 收件人组合
会话线程跨 同一个账户内 的文件夹工作——如果你的回复被服务端自动归档到另一个文件夹,会话视图仍然会找到它。但 FairEmail 不会跨账户合并会话,因为两个不同邮箱账户之间的邮件关联不可靠。
会话视图中的操作
在会话线程详情页面,每一封邮件都可以独立操作:
- 点击打开完整邮件内容
- 长按弹出操作菜单(归档、删除、星标、移动文件夹、回复、转发)
- 默认选中最新一封未读邮件(如果有的话)
会话整体操作(在会话列表中长按):
- 一次性归档 / 删除整个会话
- 标记整个会话为已读
- 将整个会话移动到某个文件夹
会话视图的安全机制
FairEmail 在会话视图中做了两件和隐私相关的事:
原始消息重格式化
打开一封邮件时,FairEmail 会先「改写」邮件的 HTML 内容再显示——剥离所有脚本、移除外链样式表、去除不安全的 HTML 标签。这样即使邮件正文包含恶意脚本,也不会在 FairEmail 中执行。
内嵌消息 vs 原始消息
会话视图默认显示的是 FairEmail 重新格式化后的版本。如果你想查看邮件服务器上收到的「原始消息」(raw source),可以在邮件详情页面点击右上角菜单 → 「显示原始消息」。这在排查邮件头信息或调试加密问题时很有用。
已知限制
- 内部锚点链接不工作:邮件正文中的
#section-name锚点链接在 FairEmail 的内嵌 WebView 中无法跳转,这是 Android 的已知限制 - 跨账户会话不合并:两个不同邮箱账户之间的往来邮件不会被合并成一个会话
- POP3 账户无会话线程:POP3 协议不支持邮件头引用链,FairEmail 只能用启发式尝试,效果有限
偏好设置
你可以在 FairEmail 设置中调整会话相关行为:
- 设置 → 行为 → 邮件列表 → 勾选 / 取消勾选「按会话分组」
- 设置 → 行为 → 关闭会话后:选择「自动关闭会话」或「保留在列表中」
- 设置 → 行为 → 归档 / 删除后:选择跳转到下一个会话 / 返回列表