邮件捕获
更新日期: 2026-08-12 Plainva可以读取你的邮箱,把邮件中的知识提取到你的仓库中——从0.4.0版本开始,也可以撰写和发送邮件。重点仍然是把邮件捕获为笔记;通过IMAP连接的邮箱在你配置发送功能之前,始终只用于捕获的只读访问(邮箱中的任何内容都不会改变,甚至连未读标记也不会)。
实验性功能。 邮件客户端会与真实的外部账户(IMAP/SMTP和Microsoft)通信,而这些无法在Plainva的自动化测试中演练。它可以正常工作,而且每天都在使用,但请把它当作预览版:请保留一份备份,并报告任何看起来不对劲的地方。
连接一个邮箱
设置 → 仓库 → 云账户 → 连接账户…,然后选择服务商:
- Microsoft — 适用于Outlook.com和Microsoft 365:在服务选择步骤中勾选邮件(如果需要,可以同时勾选文件和日历与任务——一个账户、一次登录),然后直接在浏览器中登录,完全无需应用专用密码,也无需IMAP。Plainva为此使用统一的Plainva应用注册(你可以在账户详情中选择性地填入自己的应用ID)。读取邮箱、捕获以及直接发送都通过Microsoft登录完成。
- Apple iCloud、Yahoo、AOL、Zoho、Fastmail、mailbox.org、Yandex、Mail.ru——专属图块:邮箱地址加一个应用专用密码,服务器已预先填好(大多数这些图块也允许在同一步骤中勾选日历与任务——一个应用专用密码即可用于所有已选服务)。助手会分别链接到各服务商创建应用专用密码的官方指南。
- 邮件服务器 (IMAP) — 适用于所有其他服务商:主机、端口和一个密码或应用专用密码。现成的预设覆盖了来自世界各地的服务商——从web.de/GMX和T-Online,到Orange、Libero、WP、Seznam和Comcast,再到QQ Mail、NetEase、Naver和Yahoo! JAPAN;为此服务商下拉框带有搜索行,输入你的地址会自动选中匹配的预设。如果某个服务商有特殊之处,助手会在表单正下方说明:有些服务商要求使用应用专用密码或授权码代替账户密码,另一些则需要先在服务商的设置中启用IMAP——每一项都附有官方指南的链接。对于Gmail来说,那就是
imap.gmail.com,端口993,配合一个来自myaccount.google.com/apppasswords的应用专用密码(需要开启两步验证)——无需OAuth,也无需验证;助手本身会针对Gmail地址提示这一点。Outlook.com邮箱已不能再通过密码方式的IMAP连接(Microsoft已关闭该途径)——该预设会指向Microsoft图块。Proton Mail只能通过本地运行的付费Proton Mail Bridge使用(有专属预设)。若要直接发送,可以填写一个SMTP主机。
连接操作会在保存任何内容之前先验证登录信息;凭据会存入你操作系统的钥匙串。已连接的邮箱和捕获设置之后会在邮件区域中找到:邮件文件夹设置决定了已捕获的邮件会存放在哪里(默认为Mail)。
在第二台设备上登录。 邮箱通过设置同步传来时,它的密码不会自动跟着过来——只有你自己打开凭据同步,登录信息才会传输。这样的邮箱会在 邮件 区域显示 在此设备上登录 按钮:输入密码,Plainva 会先向服务商核对,之后才存入钥匙串。对于 Microsoft 邮箱,同一个按钮会转到 云账户,因为浏览器登录在那里进行。如果邮件列表因此保持为空,同一条提示与同一个按钮也会出现在那里——你不必自己去设置中寻找。
阅读邮件
从左侧操作栏(信封图标)或命令面板(打开邮件)打开邮件标签页。列表会按最新优先显示你的收件箱(未读邮件加粗,加载更多会翻页加载更多)。选中一封邮件,会在沙盒查看器中打开它:
- 外部内容会被拦截——跟踪像素、外部图片和样式加载器会被移除并计数(“已拦截外部内容(n)”)。只有自包含的内联图片才会显示。计数旁的显示图片会临时显示这封邮件的https图片一次;邮件设置中的始终加载外部图片则会把这一行为变成长期启用的选项。请注意:加载外部图片会让发件人看到你的IP地址以及你打开邮件的时间——这也是默认拦截外部内容的原因。
- 已读就是已读——打开的邮件会在 3 秒后计为已读。如果你在此期间手动标记为未读,它会在打开期间一直保持未读;只有当你关闭它并重新打开时,倒计时才会重新开始。两台设备上表现一致——此前,桌面端的计时器会在 3 秒后把标记撤回,而手机会在打开的瞬间就把邮件标记为已读。
- 链接以纯文本形式显示,在查看器中不可点击。
- 脚本和表单永远不会运行。邮件会在一个具有严格内容策略的隔离框架中渲染。
- 会话 — 列表上方的开关(对话气泡图标)会把相关的邮件收拢成一行:参与者、数量,以及这场往来最初的主题。点一下即可展开;每封邮件都保留自己所在的文件夹,若不是当前打开的文件夹就会标出来。为此 Plainva 也会一并读取已发送,这样你自己的回复也在会话里。关闭时一切照旧——一个平铺的列表——并且这个选择按 vault 记住,两台设备一致。分组依据邮件自身的回复链(在 Microsoft 上则依据服务商自己维护的会话);只有当一封回复没有带上这条链时,才会由主题来补——而且仅限可识别的回复(“Re:”“转发:”)且在 30 天之内,以免两封仅仅同名的邮件被并到一起。
- 所有收件箱 — 文件夹列表上方的第一项把所有账户的收件箱合并为一个列表,最新的在前,每一行都标明它属于哪个账户。已读/未读和标记在这里同样有效;移动和删除仍属于单个邮箱,因为每个账户都有自己的目标文件夹——打开邮件,你就是在它自己的邮箱里操作。缺少登录信息的账户会被指名,并且不会清空其他账户的列表。
- 多选 — Ctrl+点击(macOS:⌘+点击)选择单封邮件,Shift+点击选择一段范围;在对话视图中,Ctrl+点击对话即选中整段往来,其中每封邮件仍保留自己所在的文件夹。
附件会以名称和大小列出;下方的原始.eml文件(见下文)则完整包含它们。
打开一个你以前打开过的文件夹时,列表会立刻从本地缓存显示出来,刷新在后台进行;在此期间提示会写“正在更新”——只有服务器送来的内容才算已确认。已经读过的邮件同理。 在手机上,文件夹里最新的一封邮件会在后台预先载入——即使你从未打开过它,它也会立刻打开。
在桌面端,三栏(文件夹 · 列表 · 阅读区)可以拖动分隔线来调整宽度;宽度按每个仓库分别记住,重启后仍然保留。每栏都有最小宽度,阅读区不会被挤掉。
当刷新失败时——没有网络,或者服务商正在限流——列表会继续显示本设备上最后看到的内容,并附上说明,而不是一片空白。已经读过的邮件同样仍可阅读。这始终只是缓存:以服务器为准,这里的任何内容都不是唯一的副本,删除仓库时缓存也会一并消失。
把一封邮件存入仓库
每封邮件上都有三个按钮:
- 保存为笔记——在你的邮件文件夹中创建一篇笔记(
YYYY-MM-DD 主题.md),Frontmatter中带有发件人和日期,主题标题下方是纯文本正文。把同一封邮件捕获两次,会打开已有的笔记,而不是重复创建。 - + .eml——额外把原始文件存放在笔记旁边并链接它。
.eml包含一切,包括附件,并且可以在任何邮件程序中打开。 如果笔记已存在,原始副本会补充进去——除非已经链接了一份。 - → 任务——在你的默认任务数据库中创建一个条目,以主题作为标题、今天的日期作为截止日期,并预先填入未完成状态。
撰写与发送
一旦某个账户可以发送——Microsoft账户,或配置了SMTP主机的IMAP账户——你就可以在Plainva中撰写并发送邮件:
- 撰写(在邮件标签页中)会打开一个浮动窗口,其中有带标签的发件人 / 收件人 / 抄送 / 密送各行。输入一个地址并按Enter或逗号,即可把它变成一个地址标签;抄送/密送会按需显示。正文是一个带有格式化工具栏和”/“命令菜单的Markdown编辑器。链接
[文本](https://…)在你输入时会显示为一个已完成的链接——当光标移入其中时,Markdown字符会重新出现,点击则会在你的浏览器中打开目标地址。发送时正文无论如何都会转换为HTML:无论它在窗口中呈现的样子如何,收件人始终会收到一个真正的链接。 - 在任意邮件上,回复、全部回复和转发都会打开同一个窗口,其中引用了原文并预先填好了收件人;转发时会一并带上附件。
- 插入模板…会把一个笔记模板放进正文。模板中的提问(
{{prompt:…}})会在一个对话框里一次性问完,而不是作为占位符被一起发出去;模板自己的 frontmatter 不会跟进来——邮件正文没有 frontmatter,否则收件人会收到一段 YAML。取消对话框则什么也不会插入。 - 发送通过SMTP(IMAP账户)或Microsoft Graph(Microsoft账户)发出。
- 通过邮件发送此笔记(笔记的
⋮菜单或命令面板)会新建一封邮件,把当前笔记作为附件,或作为文本内嵌其中。
不经邮件客户端转交笔记
你不必从Plainva内部发送。以下方式适用于任何笔记,且无需SMTP:
- 以笔记回复(在一封邮件上):创建一篇发给发件人的笔记(Frontmatter中的
to:)并附带引用的原文——在Plainva中写下你的回复。 - 将笔记保存为邮箱中的草稿(命令面板,在任意打开的笔记上):通过IMAP把这篇笔记存为你自己邮箱中的一份草稿——选择账户、收件人和草稿文件夹,然后打开你平常使用的邮件程序,在那里检查并发送。格式会被保留。
- 通过邮件发送笔记(mailto)(命令面板):用纯文本形式在你的默认邮件程序中打开这篇笔记(长笔记会被缩短)。
- 将笔记复制为邮件文本(命令面板):把带格式的笔记放入剪贴板——粘贴到任意邮件撰写窗口中即可。
签名与发件地址
在设置 → 电子邮件 → 发送中,每个邮箱都有两项自己的设置:
- 签名——使用 Markdown,撰写时会附加在你的正文下方(并位于引用或转发的原文之上,也就是读者预期的位置)。在撰写窗口切换发件人时,签名会被替换,而不会叠加第二个。 该输入框与撰写窗口使用同一个编辑器,因此你看到的签名就是发送时的样子。
- 按地址设置签名 — 一旦你添加了别的发件地址,字段上方会出现签名适用于的选择。“默认(所有地址)”是账户签名;选中某个地址,就只为它写一份签名。没有自己签名的地址继续使用默认签名;写信时切换发件人会换上对应的那一份——同一账户的两个地址之间也一样。把某个地址的字段清空,它就回到默认签名。
- 其他发件地址——每行一个,例如
姓名 <alias@example.org>。此时撰写窗口的发件人列出的是地址而非账户:先是邮箱自身的地址,然后是各个别名。某个地址是否真的被接受,由你的服务商决定——拒绝以别名发信的服务器会明确报错,Plainva 会把这个错误显示出来,而不是悄悄用别的名义发送。
邮箱操作
星标/旗标会通过 IMAP 和 Microsoft 同步;已标记显示服务器端的选择。邮件可以单独或批量移动。在垃圾箱外,删除始终表示“移到垃圾箱”;只有在垃圾箱中确认后才能永久删除。在 Gmail 中,移动就是更改标签,所有邮件里的操作可能影响该邮件的全部标签;Plainva 会事先提醒。
退订与撤销发送
如果一封邮件带有 List-Unsubscribe 邮件头,Plainva 会在阅读界面显示一个退订按钮。之后发生的事情由发件人自己声明——Plainva 不会从正文中猜测,也不会替你悄悄点击:网址会在确认后于浏览器中打开,邮件地址则会进入写信窗口,让你看清将要发出什么。未加密的 http:// 途径会被丢弃,因为通过它退订会把你的地址明文送出去。
撤销发送是延迟,不是收回:点击发送后,Plainva 会等待几秒钟才把邮件真正交给服务器,在这段时间里提示条上始终有一个撤销按钮。之后邮件就在路上了,谁也拦不住——世界上没有任何邮件程序能收回已投递的邮件。如果你在这一刻离开 Plainva(在手机上:切换到别的应用),邮件会立即发出而不是被取消:你要求发送的邮件,不该因为应用进入后台就消失。
稍后处理
有些邮件既不紧急,也还没办完。稍后处理会把一封邮件从列表中移出,直到你选定的时刻——今天晚些时候、明天早上、本周末或者下周。在电脑上,这一项位于邮件行的右键菜单中;在手机上,它还是一个滑动操作。已稍后处理按钮可以让它们重新显示;在那里,立即取回会马上把邮件放回列表。
有两点需要说清楚。第一,稍后处理是 Plainva 自己的标记,不是服务器功能:IMAP 和 Microsoft 都没有这样的东西。这个标记会随设置同步一起传递,所以在手机上稍后处理的邮件在电脑上同样处于休息状态——但在别的邮件程序里,它仍然照常躺在收件箱中。第二,稍后处理只隐藏你操作时所在的那个文件夹的列表:搜索和「所有收件箱」依然会显示这封邮件。稍后处理的意思是「先别挡路」,不是「消失了」。
举报垃圾邮件
垃圾邮件会把邮件移动到账户的垃圾邮件文件夹,并在服务器支持时用关键字 $Junk 标记它。在垃圾邮件文件夹中,同一个按钮显示为不是垃圾邮件,会把邮件移回收件箱。两者都可以在阅读器和多选中使用;在手机上还可以通过滑动该行触发。
坦率地说:**仅仅移动不一定会训练过滤器。**有些服务器会据此学习,有些只是保存这个关键字,还有一些会直接拒绝。操作之后,Plainva 会告诉你实际发生了什么——“已标记为垃圾邮件并移动”,或者只是“已移动”。如果你的账户根本没有垃圾邮件文件夹,Plainva 会提议创建一个名为 Junk 的文件夹,而不是把邮件推进一个凭空编造的文件夹名。
外出自动回复
外出自动回复属于服务器,而不是属于某个碰巧开着的程序。因此 Plainva 只在它能挺过电脑关机的地方提供它——Microsoft 账户,以及带有 Sieve 服务器的邮箱(mailbox.org、Fastmail、Nextcloud、Mailcow 等)。如果邮箱两者都没有,就不会出现开关,只有一句说明原因的话。
你可以在设置 → 邮件中找到它,在手机上则位于账户区域:主题、正文和一个时间段。不设时间段时,自动回复会一直生效,直到你关闭它;设了时间段,它会自己开始、自己结束——即使你再也不打开 Plainva。
你自己的过滤规则不会被动到。 在 Sieve 脚本中,Plainva 只写入自己那一段(以 # --- BEGIN PLAINVA 标记),其余部分逐字保留。如果它在那里发现无法安全读取的部分,就什么都不改,并告诉你。
规则
一条规则会检查发件人、收件人或主题,然后做点什么:移动、标记为已读、加星标、举报为垃圾邮件,或放入回收站。你可以在设置 → 邮件中找到它们。
下面是关键:目前规则只在 Plainva 打开时运行,并且只处理 Plainva 已获取的邮件。在手机上还意味着:只在应用处于前台时。也就是说,电脑关机期间规则什么都不会过滤——这张卡片会当场说明这一点,而不是暗示一个此处尚不存在的服务器端过滤器。
如果一条规则检查邮件正文,它只有在你打开邮件后才会生效:正文不在列表中。这一点卡片上也写了。
保存到服务商。 如果你的邮箱有 Sieve 服务器,保存到服务商按钮会把规则变成服务器端过滤器:即使 Plainva 关闭它也会生效。Plainva 只写入自己带标记的那一段,你手写的规则原样保留——与自动回复相同的承诺,因为两者共用这一段。
服务器无法表达的规则(例如在缺少相应扩展的服务器上检查邮件正文)会保持本地运行,Plainva 会告诉你是哪一条。它被有意排除在上传之外:包含服务器不认识的要求的脚本会被整体拒绝,自动回复也会随之消失。
Gmail 的规则仍在 Google 自己的设置中配置。
在 Microsoft 无需额外的服务器:同一个按钮会把规则作为 Outlook 规则保存到邮箱中。Plainva 只替换它自己创建的规则,不动你自己的规则,并把它们排在你的规则之后——手写的规则先来。Microsoft 只按“包含”比较,因此“完全等于”“开头是”“结尾是”、针对抄送收件人的规则以及加标记都会留在本地,并会告诉你是哪些。
在手机上你可以完整地创建规则:在邮件设置中点按一条规则,它会显示为如果和则——每个条件和每个操作都是一行,点按后会在各自的操作面板中依次询问字段、比较方式和值。这刻意不是缩小的表单:在手机宽度上并排放五个控件,正是把规则输错的方式。最后一个条件无法删除——没有条件的规则会匹配每一封邮件。
存为笔记是任何邮件程序都没有的操作:规则会把邮件作为笔记存入你的库中,包含发件人、日期和正文——与阅读界面里那个按钮相同的捕获,只是自动完成。同一封邮件两次仍是同一条笔记,邮件也留在原文件夹里:存下的是副本,没有任何移动。带这个操作的规则始终留在本地,即使邮箱本身能运行规则。这是有意的:把规则的其余部分保存到服务商,会让服务器先把邮件移走,届时就没有什么可存了。