Looks like no headers at all where returned from the server.
I changed the IMAP command for fetching headers which now sends UID FETCH together with the message UID. Before, it was just FETCH with the sequence number. I tried it with several servers and all seemed to support this command (it's IMAPv4). One reason for this change were problems with DBMail which returned false answers when trying to resolve the UID to a sequence number. Now BincIMAP doesn't work... I really hate those little differences!
The only way to solve this would be to specify the IMAP server in config or to retry the FETCH command if it failed.
~Thomas
Jim Pingle wrote:
Since SVN rev 326, I've had problems on one of my Roundcube setups (of course it's the one that's always the most problematic, the BincIMAP/Apache 1.3/PHP5 server)
With 325, I would see headers but no body on most messages. With 326 I see the body but no headers.
I'm also getting an SQL error in the log. I increased the length of the error that gets printed so it would show the whole thing:
[29-Aug-2006 11:52:22 -0400] DB Error: DB Error: syntax error Query: INSERT INTO messages (user_id, del, cache_key, created, idx, uid, subject,
from
,to
, cc, date, size, headers, structure) VALUES ('2', 0, 'INBOX.msg', now(), '823', '4812', '', '', '', '', FROM_UNIXTIME(), 779, 'O:14:"iilBasicHeader":23:{s:2:"id";s:3:"823";s:3:"uid";s:4:"4812";s:7:"subject";s:0:"";s:4:"from";N;s:2:"to";N;s:2:"cc";N;s:7:"replyto";N;s:11:"in_reply_to";N;s:4:"date";N;s:9:"messageID";N;s:4:"size";s:3:"779";s:8:"encoding";N;s:5:"ctype";N;s:5:"flags";s:0:"";s:9:"timestamp";N;s:1:"f";N;s:4:"seen";b:0;s:7:"deleted";b:0;s:6:"recent";b:0;s:8:"answered";b:0;s:4:"junk";N;s:12:"internaldate";s:20:"29-Aug-2006 04:05:35";s:8:"is_reply";N;}', NULL) [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '), 779, 'O:14:"iilBasicHeader":23:{s:2:"id";s:3:"823";s:3:"uid";s:4:"48' at line 3] in /usr/home/webmail/roundcubemail/program/include/rcube_db.inc on line 479I have caching disabled in the config, yet it appears to be attempting to write to the cache. It looks like the information isn't getting into the headers at all. The SQL insert is choking because FROM_UNIXTIME() needs an argument but it's getting an empty string.
I'm using the most current version now (327) and the same problem is still there.
On another server (using Courier IMAP, Apache 2, PHP5), it's working just fine.
I'm sure that BincIMAP is partially to blame, and I wish I could drop it but the server's current setup makes it difficult.
Any ideas?