Re: [Evolution] Filters not working




On Tue, 2007-11-13 at 14:12 -0300, Marcus Senna Borges de Barros wrote:
I also use it with Exchange. This is one of the things that were
supposed to work but they don't (the other, at least for me, is
accessing someone else's mailbox or calendar, even with the proper
rights set).

-------- Mensagem original --------
De: Art Alexion <art RHD ORG>
Para: Marcus Senna Borges de Barros <msenna sefaz ba gov br>
Cc: evolution-list gnome org
Assunto: Re: [Evolution] Filters not working
Data: Tue, 13 Nov 2007 11:30:09 -0500

On Mon, 2007-11-12 at 13:34 -0500, Marcus Senna Borges de Barros wrote:
I using Evo 2.12.0 on Ubuntu Gutsy, and after I copied my email from
previous versions to the personal folders, the filters only work when
I select the messages (and also if the filter rule doesn't involve
moving mail to a folder). No message error is given.

Is there any way to find out what is happening?

I've been told on this list that this is a known and ongoing problem.  I
am befuddled as to why it hasn't been addressed as filtering is an
indispensable component of an MUA.  My guess is that the evolution
culture favors vfolders, and so, does not think this is important.

I am using evo with an exchange server.  vfolders do nothing for me when
I access the mail store using outlook or the web interface.  I need real
filters that actually move the mail.

_______________________________________________
Evolution-list mailing list
Evolution-list gnome org
http://mail.gnome.org/mailman/listinfo/evolution-list


http://bugzilla.gnome.org/show_bug.cgi?id=444503

The above may or may not be your problem, but the change below basically
forces my exchange personal/Inbox to be filtered.  Note that this is a
hack, and not a proper fix.  Evo's code base is pretty large, and I've
not found where the folder_flags are set/stored/calculated.

Per the ticket, the folder->folder_flags for my exchange inbox mask out
such that filters do not get applied.  There's a lot more detail in the
ticket.  You can comment out the #define jrt(x) x if you don't care
about the logging.
Basically what will happen is that the first time the inbox is loaded,
it's flag will be set to 71 ( i use 71 because on a 'new/clean' build
the first time the inbox is loaded this is the value of the folder_flags
and filters get run, on all subsequent loads of inbox the folder_flags
are 3, which mask out to 'don't run filters on this folder' ).

rthompso raker ~/evo-src/evolution-data-server/camel $ svn diff --diff-cmd diff -x -uNwb -r HEAD 
camel-folder.c
Index: camel-folder.c
===================================================================
--- camel-folder.c      (revision 8203)
+++ camel-folder.c      (working copy)
@@ -46,6 +46,7 @@
 
 #define d(x)
 #define w(x)
+#define jrt(x) x
 
 extern int camel_verbose_debug;
 
@@ -1815,6 +1816,16 @@
                }
        }
 
+    if ( (strcmp(folder->full_name, "personal/Inbox") == 0) && (folder->folder_flags != 71))
+    {
+        jrt(printf("changing folder->folder_flags from [%d] to [%d]\n", folder->folder_flags, 71));
+        folder->folder_flags = 71;
+    }
+    else
+    {
+        jrt(printf("folder->folder_flags already [%d]\n", folder->folder_flags));
+    }
+
        if ((folder->folder_flags & (CAMEL_FOLDER_FILTER_RECENT|CAMEL_FOLDER_FILTER_JUNK))
            && p->uid_filter->len > 0)
                driver = camel_session_get_filter_driver(session,




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]