Mozilla Thunderbird 中的高级消息过滤规则

发布于 2024-12-26 09:49:09 字数 441 浏览 7 评论 0 原文

Thunderbird 的过滤机制对于简单的事情来说非常有用。 但我想做类似的事情

(如果消息包含 xy 或发件人是 yz)并且状态已读取,则移至垃圾箱

问题是,一个过滤规则只能匹配任何(= OR)或所有(=AND)过滤条件。 我尝试解决这个问题,首先在第一个过滤器中用不可能的标签组合标记所有消息,然后使用第二个过滤器将所有标记+标记的消息移动到垃圾箱(如果它们被读取),但这效果非常差,因为有时邮件未被标记,有时标记的邮件未被删除。

这一切的目的是在我读到不重要或通知电子邮件后立即将其删除。当然,我可以为每个过滤器做一个单独的过滤器,但是如果我想更改某些内容,那么对于所有> 20-30 个过滤器规则来说,这会变得很乏味。

是否有可能以某种方式侵入过滤器配置,或者是否有其他仅使用一个过滤器进行复杂过滤的方法?

顺便提一句。如果这很重要的话,我正在使用 Gmail+IMAP。

The filter mechanism of Thunderbird is nice for simple things.
But I want to do something like

(If message contains xy or sender is yz) and status is read, move to trash

The problem is, one filter rule can only match any (= OR) or all (=AND) filterconditions.
I tried working around with that by first marking all the messages with an unprobable combination of tags in a first filter and then use a second filter to move all the marked+tagged messages to trash if they are read, but this works very poorly, as sometimes messages aren't being marked, sometimes marked messages are not deleted.

The purpose of all this is to delete unimportant or notification emails as soon as I read them. Of course I could do a seperate filter for each of them, but if I wanted to change something, it gets tedious for all >20-30 filter rules.

Is it somehow possible to hack into the filter configuration or is there some other way of complex filtering using only ONE filter?

Btw. I'm using Gmail+IMAP if that could be important.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

2025-01-02 09:49:09

我强烈建议按照 FiltaQuilla http://kb.mozillazine.org/Filters_%28Thunderbird%29#Wild_cards" rel="nofollow noreferrer">MozillaZine。

示例

Hers 是我的过滤器:

  • 来自包含 @yahoo.es
  • 主题是照片、自拍照或图像,加上复数,不区分大小写

带有正则表达式的 ThunderBird 过滤器

I strongly suggest using FiltaQuilla as suggested in MozillaZine.

Example

Hers is my filter for:

  • From contains @yahoo.es
  • Subject is photo, selfie or image, plus plurals, case insensitive

ThunderBird filter with regular expression

世界等同你 2025-01-02 09:49:09

一个不太好的但有效的解决方案可能是将您的需求转换为析取范式。这意味着创建多个过滤器,每个过滤器都有“AND”部分。由于多个过滤器是独立的,因此依次运行它们可以模拟“OR”部分。

在您的特定情况下,(消息包含 xy OR 发件人是 yz)AND 状态已读取 =(消息包含 xy AND 状态已读取)OR(发件人是 yz AND 状态已读取)

这意味着您应该创建两个过滤器,一个用于message contains xy AND status is read,另一个用于sender is yz AND status is read

A much less nice, but working solution, could be to convert your requirements to disjunctive normal form. That means creating several filters, each of them having "AND" parts. As multiple filters are independent, running them one after another simulates the "OR" part.

In your particular case, (message contains xy OR sender is yz) AND status is read = (message contains xy AND status is read) OR (sender is yz AND status is read).

That means you should create two filters, one for message contains xy AND status is read and the other for sender is yz AND status is read

猫七 2025-01-02 09:49:09

您还可以手动编辑 \Users... 文件夹中的 msgFilterRules.dat 文件。

<代码>(A || B) && C 变为:

condition="AND (OR (body,contains,A) OR (body,contains,B) AND (to,contains,C)"

注意第一个括号不匹配。

根据您的要求更改条件。查看其他过滤器,或创建测试过滤器以凭经验学习语法。请注意,不同的电子邮件地址和文件夹有多个 msgFilterRules.dat

You can also manually edit the msgFilterRules.dat file in the \Users... folder.

(A || B) && C becomes:

condition="AND (OR (body,contains,A) OR (body,contains,B) AND (to,contains,C)"

Note first parenthesis is mismatched.

Change the condition depending on your requirements. Look at other filters, or create test filters to learn the syntax empirically. Note there are several msgFilterRules.dat for different Email addresses and folders.

飞烟轻若梦 2025-01-02 09:49:09

我认为没有办法完全按照你的意愿去做。但我可以建议这种解决方法:

  1. 创建第一个过滤器,仅根据发件人将邮件存储在特定文件夹(folder1)中
  2. 创建搜索文件夹(folder2),仅选择从folder1 中读取的邮件
  3. 定期(手动)删除来自文件夹 2 的消息。不幸的是,我没有找到自动执行此操作的方法

,我使用该系统删除了一些每日通知,几天后这些通知就变得毫无用处。

I don't think there is a way to do exactly what you want. But I can suggest this workaround:

  1. Create a first filter to store the messages in a specific folder (folder1), based only on the sender
  2. Create a search folder (folder2), to select only the read messages from folder1
  3. Periodically (manually) delete the messages from folder2. Unfortunately, I didn't find a way to do this automatically

I use this system to delete some daily notifications, which become useless after a few days.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文