Thunderbird Message Filter not working for body that contains a word
Using Thunderbird 102.9.0 (64-bit), Windows 10
To clarify what I mean in my title: I've set up a message filter that is supposed to search in the body that contains a word. I know the word is in the body, but yet the filter is not being triggered.
I have tried a different word that has spaces before and after and it seems to work, so I guess that's the problem, but how can I allow thunderbird to work when there's different characters before or after the word also?
All Replies (13)
This seems odd, considering how a name in the Address Book can be found in so many exotic ways.
I was thinking that there's some kind of expression or character that one can add that allows wildcard searches.
If there is a wildcard character, I don't know of it. Did you try ctrl-f?
FredElgin said
If there is a wildcard character, I don't know of it. Did you try ctrl-f?
Not sure what you mean, if I tried ctrl-f?
I know that you can edit the message filter file manually, possibly adding something there, just again have no idea what options I can add or what it accepts. The message filter box is pretty plain.
You're out of my depth; I'm just an old retired COBOL programmer trying to help out.
FredElgin said
You're out of my depth; I'm just an old retired COBOL programmer trying to help out.
Thanks for trying buddy, maybe someone else knows more than us, hopefully.
Gewysig op
Is this a 'Message Filter' that operates on new incoming mail ?
Upload an image showing the Message Filter.
Message Filters operate in the order they are listed, so if another Message Filter has performed an action on that incoming email then the email will not be available for the intended Filter to work. If that is the case then info would be found in the Filter Log.
check to see if Filter Log is enabled.
- Tools > Message Filters
- click on 'Filter Log'
- Select the checkbox 'Enable the filter log'
Toad-Hall said
Is this a 'Message Filter' that operates on new incoming mail ?
Yes, it appears in my junk mail folder most times, but I'm getting so much of it that I can't properly "check my junk mail" for when some legit emails go in there by accident, so I'm setting up these filters to have these go right in the bin, to clean it up a little bit.
Upload an image showing the Message Filter.
Uploaded image to this reply.
Message Filters operate in the order they are listed, so if another Message Filter has performed an action on that incoming email then the email will not be available for the intended Filter to work. If that is the case then info would be found in the Filter Log. check to see if Filter Log is enabled.
- Tools > Message Filters
- click on 'Filter Log'
- Select the checkbox 'Enable the filter log'
This filter is on the very top. There's a few key words they use so that's what I've focused on. Those links are ctrl+f searchable when viewing the source. It should tag it as junk and then move it to the bin, but it just gets sent to the junk folder, presumably by outlook's junk filter so from that I think the filter is not even detecting.
If you have an imap account then the server may be putting the emails into the server junk/spam folder. Then Thunderbird has no control over this as it simply displays what is on the server.
You can tell if the email in Junk/Spam was put there by Thunderbird or the server by looking at the flame icon in the 'Junk Status' column header.
If the flame icon is grey then it was put there by server. If the flame icon is red then Thunderbird put it in Junk.
The Message Filter can only run on new incoming mail that is in the Inbox. So anything the server decides to put into the Junk/Spam folder will not get filtered by the auto Message Filter in Thunderbird.
However, the Message Filters are best used to sort incoming mail into various folders to save you from the job. It's much easier to set up the 'Account Settings' > 'Junk Settings' for each mail account and spend some time training the thunderbird Junk Controls to deal with junk. You just need to tell it what is junk and also what is not junk. It soon starts to recognise what is junk. Otherwise you could spend the rest of your life creating thousands of filters. Thunderbird has a very complex Bayesian filter designed for that job.
Some useful links: Please note that some changes have occurred since these articles were composed. If you see a reference to 'Options' or 'Preferences' then in version 102* that is now called 'Settings'
http://kb.mozillazine.org/Junk_Mail_Controls https://en.wikipedia.org/wiki/Recursive_Bayesian_estimation https://support.mozilla.org/en-US/kb/thunderbird-and-junk-spam-messages
re :some legit emails go in there by accident,
First you need to identify whether the server is putting them in Junk/Spam or whether it is Thunderbird. If Thunderbird is doing it then check the Junk Settings are correct and teach the filter to learn they are good emails.
But if the server is putting emails in that location then see if you can logon to webmail account and set a filter to keep them in Inbox.
Otherwise use a Message Filter and run it manually to locate the good emails that have been auto put in Junk/Spam folder. I would be inclined to try to catch those few legit emails, change junk status to 'Not junk' and move them to a suitable test folder - maybe call it 'Filtered'. You could run the filter manually on the Junk/Spam folder to test it's ability to work as desired. When it works ok the good emails will get filtered to the 'Filtered' folder. Then it may be easier to run a manual filter to search a junk/spam folder and auto move the odd good email than perform a manual search. So concentrate on identifying good email as there are fewer cases.
Toad-Hall said
The Message Filter can only run on new incoming mail that is in the Inbox. So anything the server decides to put into the Junk/Spam folder will not get filtered by the auto Message Filter in Thunderbird.
It seems to do it just fine for other filters that the server automatically sends to the junk folder.
I think maybe you don't understand my desire here. The servers junk filter seems to be doing fine, getting the junk emails into the junk folder, I wouldn't like it do delete without my input anyway, but the junk folder is insanely large, so what I'm doing now is getting Thunderbird to just delete some of the confirmed very obvious ones and here we are, where it does not seem to trigger for a searchable text within the body. That's my issue here, nothing else.
Gewysig op
re :It seems to do it just fine for other filters that the server automatically sends to the junk folder.
That statement is incorrect because it is impossible.
If the server filter puts new email directly into the Junk/Spam folder then this occurs before the email is downloaded in which case no Message Filter in Thunderbird can auto run and delete it because it is not in the Inbox. you would know if server filter moved it to Junk because it would have a grey flame icon.
The auto Message Filter in Thunderbird can only run on new incoming mail that is in the 'Inbox' and those emails can be put it in the Junk or any other folder depending upon the filter instructions.
So if the server had missed one of those emails and it was still in the Inbox, then Thunderbird would Mesage Filter would locate it and put in desired location - you would know if Thunderbird moved it because it would have a red flame icon.
But you can 'manually' run any Message Filter on any preselected folder.
I understand precisely what you are trying to achieve but I'm trying to point out to you that you would have to create a Message Filter and you will have to run it 'Manually' on the 'Junk/Spam' folder to move any emails specifically from that folder. So if you are moving emails, then it may be much easier to filter and move the few good emails as the From may be a good email address or a particular Subject may be expected.
You are trying to filter junk that is already junk, but you want it deleted - meaning you would have to run this Manually, it will never work on the Junk/spam folder automatically. You use 'Body' 'contains' and then a string of characters which seem to be a link or webpage - I'm not entirely sure because you blanked them out. So this could mean remote content links eg: clickable image links. These links may change on a per email basis. Suggest you type just the domain, so if you currently have: http://domain.ru/Info Then try 'Body' 'contains' 'domain.ru'
I do recall that it's not exactly that simple trying to get Message Filters to work on links that are contained within the email, some of which could have a load of HEX in link and have a tendency to freqently change. However, the 'body' filter option has always searched only the message text itself and not tags/ links/headers etc within the email as they come under different HTML tags and in this instance href part of email. I believe the developers /powers that be...are considering adding the href part of a link to the search, but don't hold your breath, they've been considering that for quite a while.
It's much easier to locate them based on eg: a 'Reply-to' email address located in the headers.
The wildcard when searching for a word is " * " , i.e. searching for 'Law' does not show "Lawer", but searching for ' law* ' finds ' lawer ' .