imap_errors

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

imap_errors返回所有发生的 IMAP 错误

描述

imap_errors(): array|false

获取在此页面请求期间或错误堆栈重置后发生的 IMAP 错误(如果有)。

当调用 imap_errors() 时,错误堆栈随后会被清除。

参数

此函数没有参数。

返回值

此函数返回自上次 imap_errors() 调用或页面开始以来生成的全部 IMAP 错误消息的数组。如果没有任何错误消息可用,则返回 false

参见

添加说明

用户贡献的说明 4 个说明

9
Brandon Kirsch at perceptionilluminates dot com
11 年前
如果您不使用 imap_errors() 来清除错误堆栈,则脚本执行结束时存在的任何错误都将作为 PHP 注意消息发出。
2
Jeremy Glover
17 年前
调用 imap_close($mbox) 时,会为在 imap 函数中发生的每个错误生成注意消息。要抑制这些错误消息(包括“邮箱为空”,这实际上不是错误),只需调用 imap_errors(),然后调用 imap_close($mbox)。
1
Luke Madhanga
9 年前
对于那些好奇的人来说,此函数将返回一个线性字符串数组,而不是像 error_get_last 那样返回一个包含不同内容的关联数组。

例如:

[0 => '[TRYCREATE] No folder {imap.gmail.com} (Failure)']
2
olliejones at gmail dot com
1 年前
这会在调用 imap_open() 后生成字符串“邮箱为空”。这不是错误。这意味着以下代码不足以知道打开失败是由于错误的密码、主机名或其他原因。这

$imap = @imap_open( $mailbox, $user, $pass);
$errors = @imap_errors();
if ( $errors ) {
echo '登录失败:' . implode ('; ', $errors );
}

可能会输出“登录失败:邮箱为空”,这很奇怪。

相反,检查 imap_open() 的返回值。

$imap = @imap_open( $mailbox, $user, $pass);
if ( ! $imap ) {
$errors = @imap_errors();
echo '登录失败:' . implode ('; ', $errors );
}
To Top