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.
(PHP 4, PHP 5, PHP 7)
imap_num_recent — Gets the number of recent messages in current mailbox
$imap_stream
) : intGets the number of recent messages in the current mailbox.
Returns the number of recent messages in the current mailbox, as an integer.
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.
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).
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...