(PHP 4, PHP 5, PHP 7, PHP 8)
imap_getmailboxes — メールボックスのリストを読み込み、各ボックスに関する詳細な情報を返す
メールボックスの情報を取得します。
imap
IMAP\Connection クラスのインスタンス。
reference
通常、reference
は
imap_open() で述べられているサーバー定義です。
信頼できないデータをこのパラメータに渡すのであれば、 imap.enable_insecure_rsh を無効にしておかなければ危険です。
pattern
検索を開始するメールボックスの階層を指定します。
pattern
の中で使用できる特別な文字として
'*
' および '%
' があります。
'*
' は、すべてのメールボックスを意味します。
pattern
に '*
' を指定すると、
メールボックス階層全体のリストが得られます。
'%
' は現在のレベルのみを意味します。
'%
' を pattern
に指定すると、
トップレベルのメールボックスのみを返します。UW_IMAPD
の場合、
'~/mail/%
' は
~/mail ディレクトリ内のすべてのメールボックスを返しますが、
そのディレクトリのサブフォルダにあるメールボックスは返しません。
メールボックス情報を有するオブジェクトの配列を返します。各オブジェクトには、
メールボックスの完全な名前である name
、
このメールボックスの階層の区切りを示す属性 delimiter
、
そして attributes
が存在します。
attributes
はビットマスクであり、
次のものについて調べることができます。
LATT_NOINFERIORS
- このメールボックスには
「子供」がいないか、またはいないかもしれません(このボックスの中にメールボックスはありません)。
このメールボックスに対して imap_createmailbox()
をコールしても動作しません。
LATT_NOSELECT
- 単なるコンテナであり、
メールボックスではありません - これをオープンすることはできません。
LATT_MARKED
- このメールボックスにはマークがつけられています。
これは、最後に確認したとき以降に新たなメッセージが到着しているかもしれないということを意味します。
すべての IMAP サーバーがこの機能を提供しているとは限りません。
LATT_UNMARKED
- このメールボックスにはマークがつけられておらず、
新たなメッセージを含んでいません。
MARKED
あるいは UNMARKED
が提供されている場合は、
その IMAP サーバーがこのメールボックスに対してマーク機能を提供しているとみなせます。
LATT_REFERRAL
- このコンテナはリモートメールボックスと関連を持ちます。
LATT_HASCHILDREN
- このメールボックスは選択可能な子を持ちます。
LATT_HASNOCHILDREN
- このメールボックスは選択可能な子を持ちません。
false
を返します。
バージョン | 説明 |
---|---|
8.1.0 |
引数 imap は、IMAP\Connection
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、リソース が期待されていました。
|
例1 imap_getmailboxes() の例
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("接続できません: " . 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 failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>