Thunderbird的过滤机制非常适合简单的事情。 但我想做一些像
这样的事情(如果邮件包含xy或发件人是yz)并且已读取状态,请移至垃圾箱
问题是,一个过滤规则只能匹配任何(= OR)或所有(= AND)过滤条件。 我尝试解决这个问题,首先在第一个过滤器中使用不可能的标记组合标记所有消息,然后使用第二个过滤器将所有标记的+标记的消息移动到垃圾箱(如果它们被读取),但这种方法效果很差,如有时消息没有被标记,有时标记的消息不会被删除。
所有这一切的目的是在我阅读后立即删除不重要或通知电子邮件。当然我可以为它们中的每一个做一个单独的过滤器,但是如果我想要改变一些东西,那么所有> 20-30过滤规则都会变得乏味。
是否可能以某种方式破解过滤器配置或是否只使用一个过滤器进行复杂过滤?
顺便说一下。如果这可能很重要,我正在使用Gmail + IMAP。
答案 0 :(得分:11)
看一下FiltaQilla AddOn - 它允许正则表达式......: - )
答案 1 :(得分:3)
一个不那么好但工作的解决方案可能是将您的需求转换为disjunctive normal form。这意味着创建几个过滤器,每个过滤器都有“AND”部分。由于多个过滤器是独立的,因此一个接一个地运行它们会模拟“OR”部分。
在您的特定情况下,(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)
。
这意味着您应该创建两个过滤器,一个用于message contains xy AND status is read
,另一个用于sender is yz AND status is read
答案 2 :(得分:3)
答案 3 :(得分:1)
我认为没有办法完全按照你的意愿行事。但我可以建议这个解决方法:
我使用此系统删除一些日常通知,几天后就会变得无用。
答案 4 :(得分:0)
您还可以手动编辑\ Users ...文件夹中的msgFilterRules.dat
文件。
(A || B) && C
变为:
condition="AND (OR (body,contains,A) OR (body,contains,B) AND (to,contains,C)"
请注意,第一个括号不匹配。
根据您的要求更改条件。查看其他过滤器,或创建测试过滤器以凭经验学习语法。请注意,有多个msgFilterRules.dat
用于不同的电子邮件地址和文件夹。