PHP 8.4.0 RC4 available for testing

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_get_quotaLit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles

Description

imap_get_quota(IMAP\Connection $imap, string $quota_root): array|false

Lit les quotas des boîtes aux lettres ainsi que des statistiques sur chacune d'elles.

Pour une version utilisateur, non administrateur, de cette fonction, reportez-vous à la fonction imap_get_quotaroot().

Liste de paramètres

imap

Une instance de IMAP\Connection.

quota_root

quota_root doit être de la forme : "user.nom", où "nom" est le nom de la boîte aux lettres que vous souhaitez analyser.

Valeurs de retour

Retourne un tableau contenant les valeurs de quota et courante de la boîte aux lettres quota_root. Le quota représente la taille maximale de votre boîte aux lettres. La valeur courante est l'espace actuellement utilisé par votre boîte aux lettres. imap_get_quota() retournera false en cas d'échec.

Depuis PHP 4.3, la fonction reflète plus fidèlement les fonctionnalités édictée par la » RFC2087. Le tableau retourné a changé pour supporter un nombre illimité de ressources retournées (i.e. messages ou sous-dossiers) avec chaque ressource nommée qui est identifiée par une clé. Chaque clé contient alors un autre tableau avec l'utilisation et le quota. L'exemple ci-dessous montre comment l'utiliser.

Pour des raisons de compatibilité, la méthode d'accès originale est toujours disponible, mais il est recommandé de l'abandonner.

Historique

Version Description
8.1.0 La paramètre imap attend désormais une instance de IMAP\Connection ; auparavant, une ressource imap était attendue.

Exemples

Exemple #1 Exemple avec imap_get_quota()

<?php
$mbox
= imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die(
"Impossible de se connecter : " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (
is_array($quota_value)) {
echo
"Niveau d'utilisation : " . $quota_value['usage'];
echo
"Quota : " . $quota_value['limit'];
}

imap_close($mbox);
?>

Exemple #2 Exemple avec imap_get_quota() 4.3 ou supérieur

<?php
$mbox
= imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die(
"Impossible de se connecter : " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (
is_array($quota_values)) {
$storage = $quota_values['STORAGE'];
echo
"Utilisation actuelle de la capacité de stockage : " . $storage['usage'];
echo
"Quota actuel de stockage : " . $storage['limit'];

$message = $quota_values['MESSAGE'];
echo
"Niveau d'utilisation de MESSAGE : " . $message['usage'];
echo
"Quota de MESSAGE : " . $message['limit'];

/* ... */
}

imap_close($mbox);
?>

Notes

imap_get_quota() ne fonctionne actuellement qu'avec les bibliothèques c-client2000.

Le imap donné doit être ouvert en tant qu'administrateur mail, sinon cette fonction échoue.

Voir aussi

add a note

User Contributed Notes 3 notes

up
0
Anti Veeranna
17 years ago
If you're using this (or probably any other imap functions) and getting "Notice: Unknown: Quota root does not exist (errflg=2) in Unknown on line 0" errors after the script finishes, then call imap_errors() function before you close the imap stream - this will clear the error stack and you don't get those annoying notices.

Took me a while to figure it out.
up
-1
Shiraz Esat
19 years ago
For this function to work your IMAP server must also have the 'getquota' capability!

Check this by logging in directly:
telnet <mail server> <port>

e.g. telnet mail.myserver.com 143

and then once you're connected to the server
0 CAPABILITY
up
-2
dc at aufruhr dot com
21 years ago
ok, this error just occurs if there are no quotas on your mailbox.

same with imap_get_quotaroot().
To Top