Greetings,
I've had issues with almost every svn version of roundcube with dbmail for a while. Basically, everything works except when you click to view a message, it returns to the same screen which displays the listing of messages once again. After some research, I found where the problem is stemming from but do not know where to proceed from here.
In program/include/rcube_imap.inc around line 913, this function appears:
function get_raw_body($uid)
{
if (!($msg_id = $this->_uid2id($uid)))
return FALSE;
$body = iil_C_FetchPartHeader($this->conn, $this->mailbox, $msg_id, NULL);
$body .= iil_C_HandlePartBody($this->conn, $this->mailbox, $msg_id, NULL, 1);
return $body;
}
which is called from program/steps/mail/func.inc where a cached copy cannot be found (around line 1299) in function rcmail_message_source which is called when you view a message:
// get message from server
$msg_source = $IMAP->get_raw_body($uid);
Now, the part that fails is in the get_raw_body routine when it states:
if (!($msg_id = $this->_uid2id($uid)))
return FALSE;
It returns false. I've tried disabling this check (knowing it was probably important) which ends in an endless loop in the request. My question is, what does this check do? I can guess all day but have not had the time to figure it out. For some reason, with dbmail, it returns false here and causes the system to display the folder instead of the message.
If anyone has any ideas, I'd be grateful. I do have caching disabled and am running the dbmail server locally. I have not tested against other servers.
Sincerely,
Dustin