imap_errors

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_errorsDevuelve todos los errores de IMAP que han ocurrido

Descripción

imap_errors(): array

Obtiene todos los errores de IMAP (si los hay) que han ocurrido durante esta petición de página o desde que se reinició la pila de errores.

Al llamar a imap_errors(), la pila de errores se limpia posteriormente.

Valores devueltos

Esta función devuelve un array con todos los mensajes de error de IMAP generados desde la última llamada a imap_errors(), o desde el principio de la página. Devuelve false si no hay disponible ningún mensaje de error.

Ver también

  • imap_last_error() - Obtiene el último error de IMAP que ocurrió durante esta petición de página
  • imap_alerts() - Devuelve todos los mensajes de alerte de IMAP que han sucedido

add a note

User Contributed Notes 4 notes

up
9
Brandon Kirsch at perceptionilluminates dot com
10 years ago
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.
up
2
Jeremy Glover
16 years ago
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).
up
1
Luke Madhanga
9 years ago
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)']
up
0
olliejones at gmail dot com
8 months ago
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 );
}
To Top