note 80251 modified in function.imap-getmailboxes by danbrown
| From: | danbrown@php.net | Date: | Wed, 20 May 2009 14:07:16 +0000 |
| Subject: | note 80251 modified in function.imap-getmailboxes by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-155793@lists.php.net to get a copy of this message | ||
i think it will save someones time to get mailbox list and their attributes within a formatted array
<?php
/********** Function ******************/
function getAttributesFlagArray($p_attributes){
$attrs[LATT_HASNOCHILDREN]='false';
$attrs[LATT_HASCHILDREN]='false';
$attrs[LATT_REFERRAL]='false';
$attrs[LATT_UNMARKED]='false';
$attrs[LATT_MARKED]='false';
$attrs[LATT_NOSELECT]='false';
$attrs[LATT_NOINFERIORS]='false';
$attrsX=$attrs;
foreach($attrs as $attrkey=>$attrval){
if ($p_attributes & $attrkey){
$attrsX[$attrkey]='true';
$p_attributes-=$attrkey;
}
}
return $attrsX;
}
/*********** Usages *****************/
$mboxconnstr='{imap.gmail.com:993/imap/ssl}';
// $mboxconnstr='{mail.bdways.com:143/imap/novalidate-cert}';
$mbox = imap_open($mboxconnstr, $username, $password, OP_HALFOPEN) or die("can't connect:
" . imap_last_error());
echo "<h1>Mailboxes</h1>\n";
$folders = imap_getmailboxes($mbox, $mboxconnstr, "*");
if(is_array($folders)){
foreach($folders as $fkey=>$folder){
$mapname = str_replace($mboxconnstr, "", imap_utf7_decode($folder->name));
if($mapname[0] != ".") {
//$attrs[LATT_]=': NO';
$list_folders[$fkey]['name'] = $folder->name;
$list_folders[$fkey]['nameX'] = $mapname;
$list_folders[$fkey]['delimiter'] = $folder->delimiter;
$list_folders[$fkey]['attributes'] = $folder->attributes;
$list_folders[$fkey]['attr_values'] = getAttributesFlagArray($folder->attributes);
}
}
}else echo "Call failed<br />\n";
echo('<pre>'); print_r($list_folders); echo('</pre>');
?>
thanks to Mohamed Abbas mabbas_xyz at yahoo dot com for his attributes findings using imap...
--was--
i think it will save someones time to get mailbox list and their attributes within a formatted array
/********** Function ******************/
function getAttributesFlagArray($p_attributes){
$attrs[LATT_HASNOCHILDREN]='false';
$attrs[LATT_HASCHILDREN]='false';
$attrs[LATT_REFERRAL]='false';
$attrs[LATT_UNMARKED]='false';
$attrs[LATT_MARKED]='false';
$attrs[LATT_NOSELECT]='false';
$attrs[LATT_NOINFERIORS]='false';
$attrsX=$attrs;
foreach($attrs as $attrkey=>$attrval){
if ($p_attributes & $attrkey){
$attrsX[$attrkey]='true';
$p_attributes-=$attrkey;
}
}
return $attrsX;
}
/*********** Usages *****************/
$mboxconnstr='{imap.gmail.com:993/imap/ssl}';
// $mboxconnstr='{mail.bdways.com:143/imap/novalidate-cert}';
$mbox = imap_open($mboxconnstr, $username, $password, OP_HALFOPEN) or die("can't connect:
" . imap_last_error());
echo "<h1>Mailboxes</h1>\n";
$folders = imap_getmailboxes($mbox, $mboxconnstr, "*");
if(is_array($folders)){
foreach($folders as $fkey=>$folder){
$mapname = str_replace($mboxconnstr, "", imap_utf7_decode($folder->name));
if($mapname[0] != ".") {
//$attrs[LATT_]=': NO';
$list_folders[$fkey]['name'] = $folder->name;
$list_folders[$fkey]['nameX'] = $mapname;
$list_folders[$fkey]['delimiter'] = $folder->delimiter;
$list_folders[$fkey]['attributes'] = $folder->attributes;
$list_folders[$fkey]['attr_values'] = getAttributesFlagArray($folder->attributes);
}
}
}else echo "Call failed<br />\n";
echo('<pre>'); print_r($list_folders); echo('</pre>');
thanks to Mohamed Abbas mabbas_xyz at yahoo dot com for his attributes findings using imap...
http://php.net/manual/en/function.imap-getmailboxes.php