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 <[EMAIL PROTECTED]>
> Para: Marcus Senna Borges de Barros <[EMAIL PROTECTED]>
> 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' ).

[EMAIL PROTECTED] ~/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,

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

Reply via email to