(PHP 4, PHP 5)
imap_getmailboxes — Posta kutuları hakkında ayrıntılı bilgi döndürür
Posta kutusu listesini okuyup her PK için ayrıntılı bilgi döndürür.
imap_open() işlevinden dönen bir IMAP akımı.
imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.
Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.
kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.
Posta kutusu bilgilerini içeren nesnelerden oluşan bir dizi döner. Her nesnenin üç özelliği vardır: Posta kutusunun ismini içeren name, hiyerarşik ayracı içeren delimiter ve attributes. attributes özelliği şu değerleri içerebilen bir bit maskesidir:
LATT_NOINFERIORS - "Çocuklar" olmaksızın posta kutusunun kendisi (bunun altında posta kutusu bulunmaz). Bu posta kutusu altında imap_createmailbox() çalışmaz.
LATT_NOSELECT - Sadece bir taşıyıcıdır, bir posta kutusu değildir - bu açılamaz.
LATT_MARKED - Posta kutusu imlidir. Yani, son erişimden bu yana yeni gelmiş iletiler var demektir. Her IMAP sunucusu bu bilgiyi sağlamaz.
LATT_UNMARKED - Posta kutusu imsizdir, posta kutusunda yeni gelmiş ileti yoktur. MARKED veya UNMARKED bilgisi sağlanmışsa IMAP sunucusunun bu posta kutusunda bu özelliği desteklediğini varsayabiliriz.
Örnek 1 - imap_getmailboxes() örneği
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());
$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
foreach ($list as $key => $val) {
echo "($key) ";
echo imap_utf7_decode($val->name) . ",";
echo "'" . $val->delimiter . "',";
echo $val->attributes . "<br />\n";
}
} else {
echo "imap_getmailboxes başarısız oldu: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>