Message Filters can not be changed!
I added a message filter. I tested it by clicking "Run now". It worked. The next day I had a message that matched that filter, it WAS NOT filtered! I checked the Message Filter and the new one WAS NOT there! I added it again. Same thing the next day!
I debugged this a bit, and determined that any changed made to the message filters are NOT SAVED! They only work until I shutdown Thunderbird. When I start Thunderbird again, ALL CHANGES to the message filters are GONE! This worked some weeks ago. I don't change the filters all that often.
All Replies (3)
I have isolated this problem: symbolic links are NOT processed correctly. This is a recent problem, it started with an update in the last few months. Before that, it worked correctly.
if the file: *.default/Mail/pop.gmail.com/msgFilterRules.dat is a symbolic link to another file, say: *.default/Mail/myFilters.dat, the linked file is correctly read to load the filters. But, when saving changes, a DIFFERENT file is written! The written file is: *.default/Mail/msgFilterRules.dat. In fact, all of the mail accounts write the SAME wrong file above!
I fixed my problem by making the symbolic link the other way.
Err manual editing of the msffilterrule.dat file is actively discouraged. You are seeing why. What are you trying to do with these symbolic links?
Mail/[Server name]/ msgFilterRules.dat is the normal location for a pop mail filter file. IMAPMail/[Server name]/ msgFilterRules.dat for an IMAP mail account.
.
I'm not really manually changing the file, just synchronizing between different OSs and versions of Thunderbird. The actual mail folders are compatible, but the filter rules file have different "account names" to route the messages on different machines. When first created, the "account name" matches the sub directory name under Mail/, but different machines and Tbird versions generate these differently. I can and do change the sub directory names to match, but the internal "account name" remains the same. I keep a different version of each filter rule file for each machine in the Mail/ folder and symbolically link to the actual msgFilterRules.dat file. A simple sed script coordinates changes.
I use Unison to synchronize the different machines.
As I said earlier, this worked fine until a recent update a few months ago.