如果您正在使用此(或可能其他任何 imap 函数)并在脚本完成后遇到“注意:未知:配额根不存在(errflg=2)在未知行 0”错误,那么在关闭 imap 流之前调用 imap_errors() 函数 - 这将清除错误堆栈,并且您不会收到那些烦人的通知。
我花了一段时间才弄清楚。
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
imap_get_quota — 检索每个邮箱的配额级别设置和使用统计信息
返回一个数组,其中包含给定邮箱的限制和使用情况的整数值。limit 的值表示此邮箱允许的总空间量。usage 值表示邮箱当前的容量级别。如果失败,将返回 false
。
从 PHP 4.3 开始,该函数更恰当地反映了 » RFC2087 中规定的功能。数组返回值已更改为支持无限数量的返回资源(即消息或子文件夹),每个命名资源都收到一个单独的数组键。然后,每个键值包含另一个数组,其中包含使用情况和限制值。
为了向后兼容,原始访问方法仍然可以使用,但建议您进行更新。
版本 | 说明 |
---|---|
8.1.0 | imap 参数现在期望一个 IMAP\Connection 实例;之前,期望一个有效的 imap 资源。 |
示例 #1 imap_get_quota() 示例
<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
echo "Usage level is: " . $quota_value['usage'];
echo "Limit level is: " . $quota_value['limit'];
}
imap_close($mbox);
?>
示例 #2 imap_get_quota() 4.3 或更高版本示例
<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
$storage = $quota_values['STORAGE'];
echo "STORAGE usage level is: " . $storage['usage'];
echo "STORAGE limit level is: " . $storage['limit'];
$message = $quota_values['MESSAGE'];
echo "MESSAGE usage level is: " . $message['usage'];
echo "MESSAGE limit is: " . $message['limit'];
/* ... */
}
imap_close($mbox);
?>
此函数目前仅适用于 c-client2000 或更高版本的库的用户。
给定的 imap
必须以邮件管理员身份打开,否则此函数将失败。
如果您正在使用此(或可能其他任何 imap 函数)并在脚本完成后遇到“注意:未知:配额根不存在(errflg=2)在未知行 0”错误,那么在关闭 imap 流之前调用 imap_errors() 函数 - 这将清除错误堆栈,并且您不会收到那些烦人的通知。
我花了一段时间才弄清楚。
要使此函数正常工作,您的 IMAP 服务器还必须具有“getquota”功能!
通过直接登录来检查
telnet <邮件服务器> <端口>
例如 telnet mail.myserver.com 143
然后在您连接到服务器后
0 CAPABILITY