-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Tags zh
English · Tiếng Việt · 中文
标签是贴在一封邮件上的一个简短的、唯一的标记。自 1.4.1 起,规则可以在邮件到
达时贴上一个。自 1.16.0 起,你也可以自己动手:阅读一封邮件时按 T,或者选
中多封一起打标签。在任何地方点一下标签芯片,列表就会按它筛选,也可以在搜索框里输
入 tag:。
Bundle 按邮件是什么来分类——订阅邮件、收据、通知——而且由 SkimMail 替你判断。标 签是另外一半:一个由你定义的标记,要么直接手动贴在你正看着的邮件上,要么由一条 规则替你判断的条件贴上,于是"房东发来的一切"或"这个季度的发票"就变成工具栏上的一 次点击,而不是一段每次都要重打的搜索。
自 1.16.0 起。 三种打开选择器的方式,都需要 operator 级别:
- 阅读一封邮件时按 T,或者已经选中一封或多封邮件时按。
- 打开命令面板(⌘K),选择 Tag as…,或者直接选一个已有标签——每个 正在使用的标签都会按名字列在那里。
- 在列表里选中多封邮件,从多选工具栏一次性给它们全部打上标签。
选择器先列出你已有的标签,每个都是一次点击,下面是一个用于新建标签的输入框。如果 邮件或所选内容已经有标签,会多出一个 Remove tag 选项来清除它。阅读窗格会把当 前标签显示为主题旁边的一个 pill,带一个 ×,不用打开选择器也能直接摘掉它。
手动打标签总是覆盖。 如果邮件已经带有标签——不管是谁贴上的——选一个新标签就会 替换它。这和下文规则回填的默认行为正好相反,而且是刻意的:规则是一条长期有效的指 令,而正在给眼前这封邮件打标签的人,刚刚明确说出了他想要的结果。
一条规则仍然可以在邮件到达时给它打上标签——条件和规则能做的另外三种动作见 规则与信号。有三点行为值得知道,因为它们常常让人意外:
- 规则只在自己运行的那一刻给新到达的邮件打标签。 评估只发生一次,即邮件在一次 同步中被插入的时候,此后不会对这封邮件再来一次。
- 只有不到 48 小时的邮件才会被评估。 一次回填数月历史的首次同步不会对那些邮件 跑规则——否则写下一条规则就会触发几百条关于去年春天邮件的通知。
- 每封邮件一个标签,第一条匹配的规则说了算。 如果两条规则都会给同一封邮件贴标 签,按顺序第一条匹配的规则设置标签,其余的不会覆盖它。这一列只保存一个值;标签 不会叠加。
自 1.16.0 起,带有打标签动作的规则会在自己那一行上出现一个 Backfill 按钮—— 在 Settings ▸ Rules 里。它会数一数这条规则会给你已有的哪些邮件打上标签,然后由你 决定是否按需应用,不必等那些邮件"重新"到达。它绝不会覆盖已经设置好的标签。具体它 数的是什么、又拒绝什么,见规则与信号。
自 1.16.0 起,Settings ▸ Rules ▸ Tags 会列出每一个正在使用的标签及其邮件 数。标签在数据库里不是任何一行——它只以文字的形式存在于携带它的邮件上——所以这个 面板是最接近"标签登记表"的东西,而且它是推导出来的,不是存储的:一个标签一旦没有 任何邮件携带,就会直接从列表里消失。
一个操作覆盖三种结果,面板把三者都直接说出来,而不是假装它们是三个不同的功能:
- 重命名成一个列表里还没有的名字。
- 重命名成一个已经存在的标签,面板会在你确认前提示这一点——这会把两者合并:原 本携带任意一方的邮件,现在都携带目标名字。
- Remove everywhere 把这个标签从携带它的每一封邮件上摘掉。邮件本身完全不受影 响,改变的只是这一列数据。
清除一个标签——通过这里、通过阅读窗格里的 ×,或者在选择器里选 "Remove tag"
——存储的都是 NULL,而不是空字符串,这样每一处检查"这封邮件有没有标签"的地方给
出的答案都一致。
这项操作的级别是 operator,和打标签本身一样。1.16.0 之前没有任何方式能把标签 从任何东西上取下来:一条写错了字的规则("finanace")会给它匹配到的每一封邮件永久 打上烙印,删掉这条规则,标签依然留在原地。这个"橡皮擦"正是让打标签——无论是规则打 的还是手动打的——可以放心随意使用的前提。
点击任意一行邮件上的标签芯片,或者在搜索框里输入 tag:——tag:finance,或者
tag:finance invoice 表示在某个标签内部搜索,标签里有空格时用
tag:"to read"。这个操作符具体是怎么被解析的,见搜索。无论
用哪种方式,工具栏都会以相同颜色显示这个标签的芯片,列表收窄到带有它的邮件;点工
具栏芯片上的 ✕ 即可清除筛选。自 1.16.0 起,这个芯片在你搜索期间会一直可见,
所以一个筛选条件不会再悄悄收窄你的结果而你却看不出原因。
如果筛选没有匹配到任何邮件,你会看到一个如实说明的空状态——"没有标记为 X 的邮 件"——并邀请你清除筛选,而不是 1.12.0 之前那种筛选会退回去显示的通用 Inbox-zero 画面。
在大邮箱上筛选也很快:0015_tag_index 迁移(1.12.0)在三种数据库引擎里都加上了索
引,所以一次筛选不是对你最大的那张表做全表扫描。
标签芯片的颜色取自该标签在当前已加载标签排序后的位置,在五种强调色之间循环。因此 在你注视它的这段时间里,同一个标签保持同一种颜色,而工具栏上的芯片总是和它来源的 那一行芯片颜色一致。
按位置而不是按名称取色,有两个后果:
- 当屏幕上出现超过五个不同标签时,其中两个会共用一种颜色。
- 一个标签的颜色可能在不同视图之间改变,因为加载到的标签集合不同。颜色是帮助扫视 的辅助手段,不是身份标识。
| 每封邮件的标签数 | 1 |
| 标签名长度 | 40 个字符,按字符而非字节计 |
| 由谁打上 | 邮件到达时由规则打上,或随时手动打上 |
| 打标签/改名/删除所需角色 | operator |
| 规则评估窗口 | 48 小时以内的邮件 |
| 芯片颜色数 | 5,按位置 |
| 起始版本 | 1.4.1(手动打标签、橡皮擦与规则回填:1.16.0) |
- 手动打标签没有时间窗口。 和规则不同,手动打标签对任何新旧程度的邮件都有 效——没有什么需要回填,因为没有什么被漏掉。
- 手动打标签总是覆盖;规则的回填从不覆盖。 同一列数据,默认行为相反,区别就在 于是谁在提出请求——见上文"手动给邮件打标签"。
- 它不叠加。 一封邮件要么有一个标签,要么没有。
- 它不会到达你的邮件服务器。 标签是 SkimMail 自己的一列数据。它从不写入 IMAP,其它客户端也看不到它。反方向的情况——在另一个客户端里设置的标签,在这里 以只读形式显示——见服务器关键字。
- 截图安全模式不会遮蔽它。 标签是你写下的词,所以原样保留;截图前请检查你的 标签。见截图安全模式。
- 移除一个标签不会告诉你它当初是从哪里贴上的。 面板报告的是邮件数量,不是哪条 规则(或哪次手动操作)贴上了它的列表。
- 规则与信号 —— 自动打标签的条件,以及为已有邮件补上标签的 Backfill 按钮
-
搜索 ——
tag:搜索操作符 - 服务器关键字 —— 另一种芯片,只读,且在别处设置
- 截图安全模式 —— 它替换什么、不替换什么
- 运维 —— 备份,以防某个标签最终出现在你并不想要的地方
SkimMail · skimmail@base101.app · 2026-09-15 · commit 767741a