Trying to count the unseen emails in my email box, the script I have does the counting however, when there are no unseen emails the result is always 1 and no 0. Any idea why?
here the code I have so far.
php:
$hostname = '{imap.example.com:993/imap/ssl}INBOX';
$username = '[email protected]';
$password = 'mypass';
$imap = imap_open($hostname, $username, $password) or die("imap connection error");
$result = imap_search($imap, 'UNSEEN');
$new_inbox_msg = count($result);
echo $new_inbox_msg
imap_search()
returns an array, not a number, according to the documentation.So instead you need:
OK, sorry, miss interpreted the documentation myself. So here an explanation of your issue: the function indeed does return an array, but an array holding one result (count) per search attribute you handed over. Since you only specify a single attribute ('UNSEEN') you always get a single element in the array. That elements value is the number of messages matching that search criteria.
Therefore the correct usage should be: