imap_errors

(PHP 4, PHP 5)

imap_errorsReturns all of the IMAP errors that have occurred

Description

array imap_errors ( void )

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.

Return Values

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.

See Also

  • imap_last_error() - Gets the last IMAP error that occurred during this page request
  • imap_alerts() - Returns all IMAP alert messages that have occurred

Коментарии

Автор:
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).
2007-04-03 14:41:27
http://php5.kiev.ua/manual/ru/function.imap-errors.html
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.
2013-06-29 21:27:59
http://php5.kiev.ua/manual/ru/function.imap-errors.html
Автор:
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)']
2014-11-24 19:06:42
http://php5.kiev.ua/manual/ru/function.imap-errors.html
This can generate the string "Mailbox is empty" right after a call to imap_open().  That's not an error.  That means something like this is not good enough to know the open failed due to a wrong password or host name or whatever. This

  $imap = @imap_open( $mailbox, $user, $pass); 
  $errors = @imap_errors();
  if ( $errors ) {
      echo 'Login failed: ' . implode ('; ', $errors );
  }

can output "Login failed: Mailbox is empty" which is silly.

Instead, check the return value from imap_open().

  $imap = @imap_open( $mailbox, $user, $pass); 
  if ( ! $imap ) {
      $errors = @imap_errors();
      echo 'Login failed: ' . implode ('; ', $errors );
  }
2023-04-01 20:17:53
http://php5.kiev.ua/manual/ru/function.imap-errors.html

    Поддержать сайт на родительском проекте КГБ