• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • imap_getacl()

    (PHP 5, PHP 7)

    Gets the ACL for a given mailbox

    说明

    imap_getacl(resource $imap_stream,string $mailbox): array

    Gets the ACL for a given mailbox.

    参数

    $imap_stream

    由imap_open()返回的 IMAP 流。

    $mailbox

    The mailbox name, see imap_open() for more information

    Warning

    Passing untrusted data to this parameter isinsecure, unlessimap.enable_insecure_rsh is disabled.

    返回值

    Returns an associative array of "folder"=>"acl" pairs.

    范例

    Example #1 imap_getacl() example

    <?php
    print_r(imap_getacl($conn_id, 'user.joecool'));
    ?>
    

    以上例程的输出类似于:

    Array
    (
        [asubfolder] => lrswipcda
        [anothersubfolder] => lrswipcda
    )
    

    注释

    This function is currently only available to users of the c-client2000 or greater library.

    参见

    stream_id is the stream returned from imap_open
    mailbox is a mailbox name (without server name)
    Example:
    print_r(imap_getacl ($strea_id, 'user.joecool'));
    Array
    (
      [asubfolder] => lrswipcda
      [anothersubfolder] => lrswipcda
    )
    Maybe the functionality changed over the years but the examples are wrong.
    It does NOT return [subfolder] => ACL 
    At the moment (PHP5) the usage and answer of imap_getacl is the following:
    You ask for the folder and get the ACLs for exactly this folder (no Wildcards)
    Example:
    When you have the folder Business in your mailbox
    print_r(imap_getacl($connection , "user/john.doe/Business"));
    returns the following:
    Array
    (
      [john.doe@example.com] => lrswipkxtecda
      [cyrus@example.com] => lrswipkxtecd
      [secretary@example.com] => lrsp
      [department@example.com] => lrs
    ) 
    Which means you have to loop over your directories (imap_list) and list the ACL for ever folder seperately.