Here is a simple working snippet to properly check the return value of imap_msgno():$id = imap_msgno($imapConnection, $mailUid); //convert to normal messagenumber in current context$verifyUid = imap_uid($imapConnection, $id);if ($verifyUid != $mailUid) throw new Exception("Attention: imap_msgno returned nonsense! The mail was probably not found in the mailbox!");