Hi, I recycle this old subject because I have the same problem described in May without a solution for it. At the moment I evaluate dbmail for migrating from our old courier-imap-1.4.3 to a newer, and faster !!!, system.
What we need is a fast body-search, but the only feature that is not running looks like searching in the body :-( Server: dbmail 2.1.6, compiled on debian sarge. Database Backend: mysql4 Mailclient: Thunderbird here a log from my try to serach the messagebody with thunderbird: Jul 9 14:17:13 localhost dbmail/imap4d[14978]: COMMAND: [21 uid SEARCH UNDELETED BODY "Anfrage"] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: arg[0]: 'SEARCH' Jul 9 14:17:13 localhost dbmail/imap4d[14978]: arg[1]: 'UNDELETED' Jul 9 14:17:13 localhost dbmail/imap4d[14978]: arg[2]: 'BODY' Jul 9 14:17:13 localhost dbmail/imap4d[14978]: arg[3]: 'Anfrage' Jul 9 14:17:13 localhost dbmail/imap4d[14978]: imap4.c,IMAPClientHandler: Executing command uid... Jul 9 14:17:13 localhost dbmail/imap4d[14978]: db.c,db_acl_has_right: checking ACL [read_flag] for user [3] on mailbox [1] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: db.c, db_acl_has_right: mailbox [1] is owned by user [3], is that also [3]? Jul 9 14:17:13 localhost dbmail/imap4d[14978]: db.c, db_acl_has_right: mailbox [1] is owned by user [3], giving all rights Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmysql.c,db_query: query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status IN ('0','1') ORDER BY message_idnr] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,append_search: [134959360] [1] type [2] field [] search [deleted_flag=0] at depth [1] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,append_search: [134761072] [0] type [11] field [] search [Anfrage] at depth [1] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmysql.c,db_query: query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status IN ('0','1') AND deleted_flag=0 ORDER BY message_idnr] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,_do_search: [134959360] depth [1] type [2] rows [2674] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,_do_search: [134761072] depth [2] type [11] rows [0] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,_merge_search: [134959360] depth [1] type [2] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: misc.c,g_tree_merge: a[2674] [AND] b[2674] -> a[2674] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,_merge_search: [134761072] depth [2] type [11] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: misc.c,g_tree_merge: a[2674] [AND] b[0] -> a[0] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: dbmail-mailbox.c,dbmail_mailbox_search: found [0] ids Jul 9 14:17:13 localhost dbmail/imap4d[14978]: RESPONSE: [* SEARCH ] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: RESPONSE: [^M 21 OK SEARCH completed^M ] Jul 9 14:17:13 localhost dbmail/imap4d[14978]: imap4.c,IMAPClientHandler: Finished command uid [0] what I find out was that in line 1264 of dbmail-mailbox.c (function mailbox_search_parsed) $self->set is empty. ids = self->set; while (ids) { the routine comes never into the while loop. Has somebody a solution for it? I take a look into this c-file in the svn, but it looks like that there was made no changes. Kind regards, Jochen -- ECS-Solution GmbH Raiffeisenstr. 26 67817 Imsbach Germany Web: http://www.ecs-solution.de Tel: +49 (6302) 609 71-0 Fax: +49 (6302) 609 71-1