文字

imap_list

(PHP 4, PHP 5, PHP 7)

imap_listRead the list of mailboxes

说明

array imap_list ( resource $imap_stream , string $ref , string $pattern )

Read the list of mailboxes.

参数

imap_stream

imap_open() 返回的 IMAP 流。

ref

ref should normally be just the server specification as described in imap_open() .

pattern

指定在邮箱层级的何处开始查找。

在组成 pattern 的字符中可使用两个特殊字符: '*' 和 '%'。 '*' 是指返回所有邮箱目录. 如果将 '*' 作为 pattern 参数时, 则会返回整个邮箱层级结构。 '%' 是指只返回当前级次。 '%' 作为 pattern 参数则只会返回顶层邮箱; '~/mail/%' 用于 UW_IMAPD 则会返回名为 ~/mail 的目录, 但不包含其子目录。

返回值

Returns an array containing the names of the mailboxes.

范例

Example #1 imap_list() example

<?php
$mbox 
imap_open ( "{imap.example.org}" "username" "password" OP_HALFOPEN )
      or die(
"can't connect: "  imap_last_error ());

$list  imap_list ( $mbox "{imap.example.org}" "*" );
if (
is_array ( $list )) {
    foreach (
$list  as  $val ) {
        echo 
imap_utf7_decode ( $val ) .  "\n" ;
    }
} else {
    echo 
"imap_list failed: "  imap_last_error () .  "\n" ;
}

imap_close ( $mbox );
?>

参见

  • imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one
  • imap_lsub() - List all the subscribed mailboxes

用户评论:

[#1] jemore at free dot fr [2014-03-29 14:02:20]

With the values returned from the imap_list function, you can search a message in the folder, but you have to use the imap_reopen function before . Continuing the previous example (from c6h1206free at gmail dot com )

<?php
  $srv 
'{imap.example.com}';
  
$conn imap_open($srv'me''mypass');
  
$boxes imap_list($conn$srv'*');
  foreach(
$boxes as $box
  {
    
imap_reopen($srv$box);
    
var_dump(imap_search($srv"ALL"));
  }
  
imap_close($conn);
?>

[#2] c6h1206free at gmail dot com [2008-09-16 12:00:13]

imap_list returns a simple array of strings that look just like the $ref parameter one needs to specify:

<?php

  $srv 
'{imap.example.com}';

  
$conn imap_open($srv'me''mypass');

  
$boxes imap_list($conn$srv'*');

  
print_r($boxes);
  
imap_close($conn);
?>


Output:

<pre>
Array
(
    [0] => {imap.example.com}Calendar
    [1] => {imap.example.com}Contacts
    [2] => {imap.example.com}Deleted Items
    [3] => {imap.example.com}Drafts
    [4] => {imap.example.com}Journal
    [5] => {imap.example.com}Junk E-mail
    [6] => {imap.example.com}Notes
    [7] => {imap.example.com}Outbox
    [8] => {imap.example.com}RSS Feeds
    [9] => {imap.example.com}Sent Items  
    [10] => {imap.example.com}Tasks
)
</pre>

These directly fill in the $ref argument for every function that takes one.

[#3] kevin at metalaxe dot com [2007-06-05 02:13:13]

if there is an error imap_list returns FALSE not an empty array (as expected by docs)

上一篇: 下一篇: