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.
发布评论
评论(4)
我强烈建议按照 FiltaQuilla http://kb.mozillazine.org/Filters_%28Thunderbird%29#Wild_cards" rel="nofollow noreferrer">MozillaZine。
示例
Hers 是我的过滤器:
I strongly suggest using FiltaQuilla as suggested in MozillaZine.
Example
Hers is my filter for:
一个不太好的但有效的解决方案可能是将您的需求转换为析取范式。这意味着创建多个过滤器,每个过滤器都有“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 forsender is yz AND status is read
您还可以手动编辑 \Users... 文件夹中的
msgFilterRules.dat
文件。<代码>(A || B) && C 变为:
注意第一个括号不匹配。
根据您的要求更改条件。查看其他过滤器,或创建测试过滤器以凭经验学习语法。请注意,不同的电子邮件地址和文件夹有多个
msgFilterRules.dat
。You can also manually edit the
msgFilterRules.dat
file in the \Users... folder.(A || B) && C
becomes: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.我认为没有办法完全按照你的意愿去做。但我可以建议这种解决方法:
,我使用该系统删除了一些每日通知,几天后这些通知就变得毫无用处。
I don't think there is a way to do exactly what you want. But I can suggest this workaround:
I use this system to delete some daily notifications, which become useless after a few days.