(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
) : arrayPosta 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ı.
hedef
imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.
pattern
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);
?>