网页邮箱与高效办公

合上笔记本后,邮件过滤规则仍然照常运行

作者:Alexey Bulygin
服务器端邮件过滤规则与目标文件夹

电脑上的收件箱井井有条,手机上却乱成一团。同一个邮箱、同一个账号,结果却不同。原因是负责整理的邮件过滤规则设在桌面邮件客户端里,手机根本不知道这些规则。

本地规则的局限就在这里:客户端运行时,它们才执行。周五合上笔记本,邮件分类就可能停到周一。之后,三天的邮件一下子重新归类,有时还会为前天已在手机上读过的邮件弹出通知。

服务器端规则在邮件投递时执行,先处理邮件,再将其存入选定的文件夹。随后连接的设备看到的是已经整理好的邮箱。这类过滤使用 Sieve,一种成熟且适合此用途的语言。不过,通知方式和文件夹显示仍取决于客户端设置。

邮件规则的执行位置决定处理结果

客户端本地规则服务器端规则
执行时机客户端打开并同步邮件时邮件投递时
结果显示范围规则在一台设备上执行,IMAP 更改随后同步到其他设备连接的设备完成同步后可见
对通知的影响手机可能先提醒,邮件稍后才移出收件箱同步前已完成分类,是否通知取决于客户端
重装客户端后若未备份客户端配置,规则可能丢失只要保留服务器上的邮箱配置,规则就仍然可用
睡觉期间电脑和客户端必须保持运行不依赖你的设备,只要服务器正常投递邮件即可

通知方面的差别每天都能感受到。一封订阅邮件到达,手机振动,四十分钟后,桌面客户端才将它移到稍后阅读。规则确实执行了,但你早已被打断。服务器端过滤会在手机同步前把邮件放进对应文件夹。该文件夹的通知需要另行设置。

简单了解 Sieve

Sieve 用于一个明确的任务:决定邮件投递时如何处理。其基础语言由 RFC 5228 定义,并且有意设计为非图灵完备。它没有循环,也不能运行任意程序。这些限制有助于提高过滤的安全性。可用扩展及其能力取决于服务器,不能把基础语言的限制直接套用到所有扩展上。

脚本示例如下:

if header :contains "from" "billing@vendor.com" {
    fileinto "Finance/Invoices";
    stop;
}

你不必自己编写。可视化编辑器会在后台生成 Sieve,每条过滤规则都会成为投递脚本的一部分。理解这一点,就能知道处理为何在显式停止时结束、转发为何通过 SMTP 进行,以及服务器上的分类结果为何在同步后显示到各设备。仅将邮件存入文件夹,并不会自动停止后续规则。

过滤规则需要目标文件夹

过滤规则必须有地方存放邮件。三十个文件夹平铺成一长串,并不一定解决混乱,有时只是换了一种乱法。

在服务器和客户端支持的范围内,可以建立嵌套文件夹。目录树来自 IMAP 文件夹结构,因此网页邮箱、Outlook、Apple Mail 和手机都能访问同一套层级。一个客户端创建的子文件夹会在同步后出现在其他客户端中,有时还需要订阅该文件夹。

Clients
  Acme
    Invoices
    Contracts
  Globex
    Invoices
Finance
  Receipts
  Tax

以下三项功能能让目录树真正好用:

按个人保存展开和折叠状态。 在网页邮箱中,共享邮箱的目录树状态和文件夹颜色按成员分别保存。两个人可以各自安排侧边栏,互不干扰,因为偏好属于成员,而不是文件夹本身。

颜色。 给常用的四五个文件夹设置醒目的颜色,不必每次都逐项阅读名称。

支持层级范围的搜索。 这是最重要的一项。在 Clients 中,可以只搜当前文件夹、连同所有子文件夹一起搜,或搜索整个邮箱。如果没有第二种范围,就得逐个搜索最底层的文件夹。搜索范围的用法见同时搜索多个邮箱

通过可视化编辑器创建邮件规则

过滤规则由条件和操作组成。

条件可以检查发件人、收件人、主题、正文、邮件大小或指定邮件头。比较方式包括“包含”“完全等于”“以此开头”和“以此结尾”。多个条件可设置为全部满足,或满足任意一个即可。

操作可以将邮件存入文件夹、转发到其他地址、标为已读或重要、静默丢弃,或拒收并回复发件人。

其中两种操作需要特别小心。

丢弃不会通知,也不会在回收站保留副本。 服务器接受邮件,但不将其存入邮箱。技术日志可能记录处理过程,却不是可恢复的邮件副本。条件过宽时,重要邮件可能被悄悄销毁。更稳妥的办法是存入一个很少打开的文件夹。

拒收可能向 SMTP 信封发件人发送失败通知,而这个地址不一定属于邮件作者。如果地址被伪造,通知可能送给无关的人,产生不请自来的退信,也就是 backscatter。具体行为取决于实现方式和拒收阶段。可疑邮件通常放进垃圾邮件文件夹更安全。

规则转发通过 SMTP 进行,因此副本到达目标邮箱后可能无法通过身份验证。SRS 通过重写信封地址帮助解决 SPF 问题,但必须确认它是否应用于该转发路径。这不保证通过 DMARC,也不保证进入 Gmail 收件箱。应查看邮件头和验证结果来判断被归为垃圾邮件的原因。

邮件规则按顺序执行

规则从上到下依次检查,因此一组过滤规则可能产生与预期不同的结果。

假设有两条规则:

  1. 来自 @acme.com 的邮件 → 存入 Clients/Acme
  2. 主题包含 invoice → 存入 Finance/Invoices

Acme 的一封发票邮件先匹配规则 1,进入 Clients/Acme。如果第一条规则启用了停止处理,规则 2 就不会执行。原因是停止选项,而不是存入文件夹这个动作。系统未必会提示,你只是无法在财务文件夹中找到 Acme 的发票。

基本原则是具体规则在前,通用规则在后。某个供应商的发票规则应排在该供应商全部邮件的规则之前。如果过滤失效,先检查上方规则及其停止选项。可以拖动调整顺序,很多问题这样就能解决。

何时手写 Sieve

可视化编辑器能满足许多日常需求。对于它无法表达的条件,Agency 套餐提供 Sieve 源码编辑器。

嵌套逻辑,例如这个条件与那个条件同时成立、但另一个不成立,正则表达式、额外邮件头,或结合自动回复、分类和转发的统一脚本,都适合手写。服务器必须支持所需扩展。文本脚本也便于版本管理,并可作为模板用于多个邮箱。

require ["fileinto", "regex", "imap4flags"];

if allof (
    header :regex "subject" "^\\[TICKET-[0-9]+\\]",
    not header :contains "from" "noreply@"
) {
    setflag "\\Flagged";
    fileinto "Support/Active";
    stop;
}

注意:源码脚本和可视化规则控制的是同一邮箱的过滤。不要假定手写内容会自动转换回可视化规则,或在下次生成脚本时仍被保留。每个邮箱应选定一种主要管理方式。详情见Sieve 源码编辑器

实用的设置方法

按别名分类,不按发件人分类。 为每个服务使用不同的邮箱别名,例如 newsletters@receipts@shopping@。一条按收件地址匹配的规则就可能替代许多发件人规则,即使服务更换发送域名也仍然适用。不过,要确认收件人邮件头中实际显示哪个地址;密送和地址重写可能需要其他匹配条件。

归入文件夹,不要直接删除。自动邮件文件夹收纳通知、警报和收据,把收件箱留给人与人的往来,也让邮件以后仍可搜索。投递时丢弃不留可恢复副本;存入文件夹则会保留邮件,除非之后因其他原因被删除。

紧急邮件做标记,不要移走。 离开收件箱的邮件更容易被忽略。将其标为重要,并留在你看得见的位置。

最后放一条通用规则。 临时过滤规则可以把前面尚未处理的邮件存入待检查文件夹,帮助发现配置遗漏。要考虑前面规则的停止选项,规则稳定后再删除这条检查规则。

别提前搭好整棵目录树。 为尚未收到的邮件预建三层文件夹,往往不符合实际使用。等一类邮件积累起来,再创建对应文件夹。

邮件过滤规则的限制

原文版本的套餐原文版本的每邮箱规则数原文版本的规则转发数Sieve 源码编辑器自动回复
Nano3不可用
Starter3不可用
Pro105
Agency5025

表格保留了原文版本的数据,不代表当前限额承诺。现有配置未在 Nano 和 Starter 中启用普通用户规则,但 Starter 有单独的转发限额。请核对账号当前可用的功能。转发另有限制,因为它代表你发送邮件,受发送策略约束,而不只是存储限制。

常见问题

服务器端过滤能用于 Outlook 和 Apple Mail 吗?

可以。过滤在投递时完成,客户端同步后看到的是整理好的邮箱。不必在客户端重复设置规则,但文件夹订阅和通知需要另行配置。

必须学习 Sieve 吗?

不必。可视化编辑器会生成脚本。Agency 提供源码编辑器,用于更复杂的任务。

为什么某条规则不再生效?

常见原因是前面的规则先匹配并停止处理。先检查顺序和停止选项,再检查条件、规则是否启用,以及当前活动脚本的状态。

能对已收到的邮件执行这些规则吗?

这些规则在投递时执行,只处理新邮件。整理已存入邮箱的邮件,应使用搜索和批量操作。Sieve 并不排除单独的重新处理工具,但那是另一项功能。

规则转发与邮箱转发有什么区别?

邮箱转发会发送适用该设置的全部新收邮件的副本。过滤规则则按条件选取邮件。此外,转发操作有保留副本和不保留副本之分。应检查所选操作及其与其他规则的配合。

文件夹颜色会与团队共享吗?

不会。网页邮箱中的颜色和目录树状态按共享邮箱成员分别保存。这不意味着其他邮件客户端也会显示相同颜色。

文件夹可以嵌套多少层?

可以在服务器和客户端允许的范围内嵌套。超过三层后,搜索往往比逐层浏览方便。目录树基于 IMAP,但显示方式和订阅取决于客户端。

应该用过滤规则直接丢弃垃圾邮件吗?

最好不要。丢弃不会把邮件放入回收站,条件过宽可能让重要邮件无声消失。使用垃圾邮件文件夹,并通过举报垃圾邮件向分类器反馈。普通移动操作并不等同于举报。区别见屏蔽发件人

分享这篇文章

我们使用运行和保护 TrekMail 所必需的技术。确认后还会允许《Cookie 政策》中所述的有限分析和广告衡量。

登录 TrekMail

访问您的控制面板、邮箱和 DNS。

12 个字符 两次密码一致

重置邮件已发送

如果该邮箱对应已有账户,我们已发送密码重置说明。

继续即表示您同意 TrekMail 的 服务条款隐私政策.