[Bug 255388] Kmail filters dont work in incoming mail

Thomas Arend thomas at arend-rhb.de
Sat Sep 15 13:27:18 BST 2012


https://bugs.kde.org/show_bug.cgi?id=255388

--- Comment #60 from Thomas Arend <thomas at arend-rhb.de> ---
Hello,

the update from 4.9 to 4.9.1 sets the target folder to "" for the operation
move to folder in all filters. The destination folders are lost. Here is the
part you get when you export your filters.

  action-args-0=
  action-name-0=transfer
  actions=1

This is not the case for other actions. 

Nearly all filters have a destination folder and 99.99% of my incoming messages
are handled by these filters. This is why it looked as if no message was
filtered. (The rule move to folder is there but the folder is NULL. Maybe this
is the default for inbox).

This is good and bad news. Bad news is that there is some routine which
destroys filters (this happens only to destination folders as far as I can
see). Good news: Easy to fix manually when you know about it.

Second bad news: Filter don't work reliable! We will see this later. The
filtering of incoming messages don't work with a new account.

I deactivated all but one filter and set the lost target folder. Manually
filtering on selected messages worked. (You have to be a little bit patient,
the update of the message list may need some seconds even on a very fast
machine.)

Next time I activated a second filter. Filtering 970 messages (real world) in
the inbox was surprisingly fast. (Never before saw such fast filtering, another
good news, but there are enough bad left). All messages (42 fit the rule) were
correctly filtered.

In the next step I received the outstanding messages from the server. 12 of 125
messages (cron job reports) which fit the rule cron-job rule (Criteria is
"X-Cron-Env: <SHELL") were not filtered / moved to the destination folder.
(Criteria is "X-Cron-Env: <SHELL") Even after some reasonable time the messages
stayed in the inbox (Posteingang in my case).

Filtering all the left messages in the inbox manually moved the remaining
messages cron-job-reports into the folder for the cron jobs. I have no
reasonable explanation why the filter works only on 90% of the messages in the
first run.

To test this I created an new account, created a filter (see export at the end)
and send 1000 messages to the new account (kmail2test at example.com) with
following command on the mail server.

for ((i=0 ; i<1000 ; i++))
do 
   echo test `printf %4.4d $i` |  mail -s "Filter Test `printf %4.4d $i`"
kmail2test at example.com
done

When I received the messages no message was filtered and the filter log is
empty.

I filtered some single messages. All worked fine. Filter log as you expect.
Fine.

I filtered the rest of the ~ 995 messages. All but one (0948) were moved. #948
stayed in the "Posteingang".

This is the filter log entry:
[13:59:27] Applying filter action: Move Into Folder "Lokale
Ordner/Posteingang/Filter Test Mails"
[13:59:27] Evaluating filter rules: (match all of the following) "Subject"
<contains> "Filter Test"
[13:59:27] 1 = "Subject" <contains> "Filter Test" (Filter Test 0948)
[13:59:27] Filter rules have matched.

The log entry gives no hint why the message was not transfered. 1 of 1000 is
better than 12 from 125 but not good enough. There must be a reason. Applying
the filter manually move the message to the folder.

Below are the filter and message example.

Have a nice weekend
Thomas

--- Exported filter ---
[Filter #0]
Applicability=0
AutomaticName=true
ConfigureShortcut=true
ConfigureToolbar=false
Enabled=true
StopProcessingHere=true
ToolbarName=<Subject>: Filter Test
action-args-0=Lokale Ordner/Posteingang/Filter Test Mails
action-name-0=transfer
actions=1
apply-on=check-mail,manual-filtering
contentsA=Filter Test
fieldA=Subject
funcA=contains
identifier=T3iGHGAHWt9PDyjT
name=<Subject>: Filter Test
operator=and
rules=1

[General]
filters=1
---- end of filter ---- 

This is the first messages. (Please notice the violation of RfC 4155 by kmail2
in the From_ line; https://bugs.kde.org/show_bug.cgi?id=297198; this bug does
not apply to kmail1)

--- begin received message ---
>From thomas at arend-rhb.de Sat, 15 Sep 2012 13:19:54 +0200
Return-Path: <thomas at arend-rhb.de>
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on k2.arend.tksd
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=AWL,NO_RELAYS autolearn=ham
        version=3.3.1
X-Original-To: kmail2test at example.com
Delivered-To: kmail2test at example.com
Received: by k2.arend.tksd (Postfix, from userid 1000)
        id 0A84028BC4; Sat, 15 Sep 2012 13:19:54 +0200 (CEST)
Date: Sat, 15 Sep 2012 13:19:54 +0200
To: kmail2test at example.com
Subject: Filter Test 0000
User-Agent: Heirloom mailx 12.2 01/07/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20120915111955.0A84028BC4 at k2.arend.tksd>
From: thomas at arend-rhb.de (Thomas Arend)
X-UIDL: O>_"!;[F"!+G%#!TlA!!

test 0000


-- end of message ---

--- message no 948 ----
>From thomas at arend-rhb.de Sat, 15 Sep 2012 13:20:11 +0200
Return-Path: <thomas at arend-rhb.de>
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on k2.arend.tksd
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=AWL,NO_RELAYS autolearn=ham
        version=3.3.1
X-Original-To: kmail2test at example.com
Delivered-To: kmail2test at example.com
Received: by k2.arend.tksd (Postfix, from userid 1000)
        id 06CE14F7F8; Sat, 15 Sep 2012 13:20:11 +0200 (CEST)
Date: Sat, 15 Sep 2012 13:20:11 +0200
To: kmail2test at example.com
Subject: Filter Test 0948
User-Agent: Heirloom mailx 12.2 01/07/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20120915112042.06CE14F7F8 at k2.arend.tksd>
From: thomas at arend-rhb.de (Thomas Arend)
X-UIDL: NKe"!1Q8"!@5?"!fJ(!!

test 0948
--- message 948 ---

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list