If you do not use imap_errors() to clear the error stack, any errors that remain at the end of the script execution will be raised as PHP Notices.
PHP - Manual: imap_errors
2024-12-21
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_errors — Returns all of the IMAP errors that have occurred
Gets all of the IMAP errors (if any) that have occurred during this page request or since the error stack was reset.
When imap_errors() is called, the error stack is subsequently cleared.
此函数没有参数。
This function returns an array of all of the IMAP error messages
generated since the last imap_errors() call,
or the beginning of the page. Returns false
if no error messages are
available.
If you do not use imap_errors() to clear the error stack, any errors that remain at the end of the script execution will be raised as PHP Notices.
For those curious, this function will return a linear array of strings as opposed to say error_get_last which returns an associative array of different things.
e.g.
[0 => '[TRYCREATE] No folder {imap.gmail.com} (Failure)']
When calling imap_close($mbox), notices will be generated for each error that has occurred within the imap functions. To suppress these error messages (including Mailbox is empty, which is not really an error) simply call imap_errors() and then imap_close($mbox).