例如,在我的Gmail帐户中,我的邮件不能超过15Gb。有没有办法使用 php 的 imap 函数以某种方式检索这个数字?
我知道有imap_mailboxmsginfo(),它会告诉我我现在使用了多少内存(例如350MB),但它并没有说15GB是最大值,这就是问题所在。
是的,您可以使用以下行代码来实现它:也许它可以对你有所帮助。你能试一次吗?
array imap_get_quota ( resource $imap_stream , string $quota_root );
$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_get_quota()
看起来就像你需要的。
请注意,QUOTA
扩展名不需要存在。这意味着某些 IMAP 服务器可能会实现它,而其他服务器则不会。如果服务器没有QUOTA
,那么您就不走运了,无法真正获得所需的数据。