If someone want to know number of unreaded messages just use imap_mailboxmsginfo
(PHP 4, PHP 5, PHP 7)
imap_num_recent — Gets the number of recent messages in current mailbox
$imap_stream
)Gets the number of recent messages in the current mailbox.
Returns the number of recent messages in the current mailbox, as an integer.
If someone want to know number of unreaded messages just use imap_mailboxmsginfo
If you would like to skip the update of recent messages use the OP_READONLY flag when you open to check for new messages.
of course it doesnt. because "recent" does NOT mean "unseen" . they are different. for Maildir users, recent means messages found in the "new" subdir (which are moved to "cur" on the first opening of the Inbox). "unseen" are the messages you guys probably want (messages which have never been read).
The num_recent value does all the work it has to do. It returns only a number if the mail is not touched any time before.
Note that if you close your imap connexion, it seems that all the recents messages are no more recents...
So it's not very useful for a webmail...