(PHP 4, PHP 5, PHP 7)
imap_getmailboxes — Posta kutuları hakkında ayrıntılı bilgi döndürür
$imap_akımı
, string $hedef
, string $kalıp
)Posta kutusu listesini okuyup her PK için ayrıntılı bilgi döndürür.
imap_akımıimap_open() işlevinden dönen bir IMAP akımı.
hedefimap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.
patternPosta 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);
?>