imap_setacl

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_setacl设置给定邮箱的 ACL

描述

imap_setacl(
    IMAP\Connection $imap,
    string $mailbox,
    string $user_id,
    string $rights
): bool

设置给定邮箱的 ACL。

参数

imap

一个 IMAP\Connection 实例。

mailbox

邮箱名称,有关更多信息,请参阅 imap_open()

警告

除非 imap.enable_insecure_rsh 被禁用,否则将不可信数据传递给此参数是不安全的。

user_id

要授予权限的用户。

rights

要授予用户的权限。传递空字符串将删除 acl。

返回值

成功时返回 true,失败时返回 false

变更日志

版本 描述
8.1.0 imap 参数现在需要一个 IMAP\Connection 实例;以前需要一个有效的 imap 资源

备注

此函数目前仅适用于 c-client2000 或更高版本的库的用户。

参见

添加注释

用户贡献的注释 2 条注释

0
hartmut dot woehrle at hwds dot ch
8 年前
从 imap_getacl 获取 ACL 后,您希望在任何邮箱文件夹上为用户设置它们,方法如下

foreach ( $Folders as $key => $Maildir ) {
imap_setacl($domains , "user/john.doe/".$Maildir , $userid, "lrswipkxte");
}

您可以使用以下形式来翻译 ACL(感谢 cyradm 手册)

switch ($right) {
case "read" : $aclstring = "lrs";
break;
case "post" : $aclstring = "lrsp";
break;
case "append" : $aclstring = "lrsip";
break;
case "write" : $aclstring = "lrswipkxte";
break;
case "delete" : $aclstring = "lrxte";
break;
case "all" : $aclstring = "lrswipkxte";
break;
case "admin" : $aclstring = "lrswipkxtea";
break;
case "none" : $aclstring = "";
break;
}
0
panayotis at yellownetroad dot com
21 年前
我注意到使用
imap_setacl ($conn, $mbox, $userid, "")
将类似于
"deleteaclmailbox $mbox $userid"(删除邮箱上对 userid 的 ACL)。
To Top