imap_getacl

(PHP 5, PHP 7, PHP 8)

imap_getacl与えられたメールボックスの ACL を取得する

説明

imap_getacl(IMAP\Connection $imap, string $mailbox): array|false

指定したメールボックスの ACL を取得します。

パラメータ

imap

IMAP\Connection クラスのインスタンス。

mailbox

メールボックス名。詳細は imap_open() を参照ください。

警告

信頼できないデータをこのパラメータに渡すのであれば、 imap.enable_insecure_rsh を無効にしておかなければ危険です。

戻り値

"folder" => "acl" 形式の連想配列を返します。 失敗した場合に false を返します

変更履歴

バージョン 説明
8.1.0 引数 imap は、IMAP\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な imap リソース が期待されていました。

例1 imap_getacl() の例

<?php

print_r
(imap_getacl($imap, 'user.joecool'));

?>

上の例の出力は、 たとえば以下のようになります。

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

注意

この関数は、現在は c-client2000 以降のライブラリを使用しているユーザーのみ利用可能です。

参考

  • imap_setacl() - 指定したメールボックスの ACL を設定する

add a note add a note

User Contributed Notes 2 notes

up
0
hartmut dot woehrle at hwds dot ch
8 years ago
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.
up
0
info at obengelb dot de
18 years ago
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
)
To Top