PHP imap - 获取邮箱的最大容量

PHP imap - get the maximum capacity of mailbox

例如,在我的 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,那么你就倒霉了,无法真正获得你正在寻找的数据。