Windows 10 reached EOS (end of support) on October 14, 2025. For more information, see this article.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

message filters unreliable during message pickup, otherwise they work

  • 2 replies
  • 1 has this problem
  • 40 views
  • Last reply by srn4

more options

Filters *unreliably* sort the mail into their target files. I have reconstructed the filters from scratch twice, both times with identical, unpredictable results: each filter works properly on the inbox when tested, but each filter only works *sometimes* in the normal course of getting (IMAP) and sorting mail. When getting a batch of mail, some messages are sorted, while others are not. When testing the same filters on the same (still unsorted but already picked up) messages, those same messages are recognized and sorted correctly. The question is: Why are the filters not working reliably during message pickup?

The mail server is running "Debian stable" Dovecot. It seems to work well; I'm not *missing* any messages, but they're not always getting into the right folders. Instead, some messages, and sometimes quite a few messages, may remain in the inbox. I surmise that the problem is in Thunderbird, where somehow the downloading process somehow undermines the sorting process. A queuing issue? A communications-with-Dovecot issue? (The server is in Paris and I'm in North America, but there doesn't seem to be any undue latency that I can detect. The server is not very busy, that's for sure.)

In case it helps: I filter mostly on `DKIM-Signature`, `Authentication-Results`, and `Received` header entries. In a couple of cases, I use `Body`. I'm almost always using "match any" (as opposed to "match all").

Filters *unreliably* sort the mail into their target files. I have reconstructed the filters from scratch twice, both times with identical, unpredictable results: each filter works properly on the inbox when tested, but each filter only works *sometimes* in the normal course of getting (IMAP) and sorting mail. When getting a batch of mail, some messages are sorted, while others are not. When testing the same filters on the same (still unsorted but already picked up) messages, those same messages are recognized and sorted correctly. The question is: Why are the filters not working reliably during message pickup? The mail server is running "Debian stable" Dovecot. It seems to work well; I'm not *missing* any messages, but they're not always getting into the right folders. Instead, some messages, and sometimes quite a few messages, may remain in the inbox. I surmise that the problem is in Thunderbird, where somehow the downloading process somehow undermines the sorting process. A queuing issue? A communications-with-Dovecot issue? (The server is in Paris and I'm in North America, but there doesn't seem to be any undue latency that I can detect. The server is not very busy, that's for sure.) In case it helps: I filter mostly on `DKIM-Signature`, `Authentication-Results`, and `Received` header entries. In a couple of cases, I use `Body`. I'm almost always using "match any" (as opposed to "match all").

All Replies (2)

more options

> I filter mostly on `DKIM-Signature`, `Authentication-Results`, and `Received` header entries.

Please give some examples of each

more options

I copied (and redacted) these entries from my msgFilterRules.dat:

condition="OR (\"Sender\",contains,xxx@googlegroups.com)" condition="OR (\"reply-to\",contains,xxx)" condition="OR (subject,contains,:/var/log/apache2/*.log)" condition="OR (\"dkim-signature\",contains,xxx)" condition="AND (subject,contains,ch_data_update) AND (subject,contains,FAIL)" condition="OR (subject,contains,routerReboot)" condition="OR (\"dkim-signature\",contains,xxx.com)" condition="AND (subject,contains,ch_data_update) AND (subject,contains,GOOD)" condition="AND (subject,contains,ch_b2 ) AND (subject,contains,GOOD)" condition="AND (subject,contains,ch_b2 ) AND (subject,contains,FAIL)" condition="OR (\"dkim-signature\",contains,xxx.com)" condition="AND (\"received\",contains,xxx.org)" condition="OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xx.org) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx) OR (\"dkim-signature\",contains,xxx.com)" condition="OR (subject,contains,bug-gnu-emacs)" condition="AND (subject,contains,live) AND (\"dkim-signature\",contains,substack.com)" condition="OR (\"dkim-signature\",contains,xxx.org) OR (\"dkim-signature\",contains,senate.gov) OR (\"dkim-signature\",contains,xxx.us) OR (\"dkim-signature\",contains,email.assembly-mail.state.ny.us) OR (\"dkim-signature\",contains,mail.house.gov)" condition="OR (subject,contains,[termux/)" condition="OR (\"dkim-signature\",contains,ffmpeg.org)" condition="OR (\"dkim-signature\",contains,xxx.com)" condition="OR (\"dkim-signature\",contains,xxx.com)" condition="OR (\"dkim-signature\",contains,ffmpeg.org)" condition="OR (\"x-original-to\",contains,xxx@xxx.com) OR (\"received\",contains,xxx.eu) OR (\"authentication-results\",contains,xxx.me) OR (\"received\",contains,xxx.com.tr) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx) OR (\"arc-authentication-results\",contains,xxx.gappssmtp.com) OR (\"arc-authentication-results\",contains,shop) OR (\"received\",contains,ru) OR (\"received\",contains,hu) OR (\"received\",contains,in) OR (\"arc-authentication-results\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx.sa.com) OR (\"dkim-signature\",contains,xxx.ro) OR (to,contains,xxx@xxx) OR (\"x-original-to\",contains,xxx.com) OR (to,contains,xx@xxx) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx-onmicrosoft-com.xxx.gappssmtp.com) OR (subject,contains,xxx) OR (\"dkim-signature\",contains,xxx.com) OR (\"dkim-signature\",contains,xxx.net) OR (\"dkim-signature\",contains,xxx.xxx.gappssmtp.com) OR (\"dkim-signature\",contains,xxx.com) OR (body,contains,xxx) OR (body,contains,xxx) OR (\"dkim-signature\",contains,xxx.com)" condition="OR (\"Sender\",contains,xxx)" condition="AND (subject,contains,[xxx])" condition="OR (to,contains,logcheck@) OR (subject,contains,[xxx]) OR (subject,contains,cron <root)" </p>

Ask a question

You must log in to your account to reply to posts. Please start a new question, if you do not have an account yet.