imap_deletemailbox
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_deletemailbox — Delete a mailbox
说明
imap_deletemailbox(IMAP\Connection
$imap
, string $mailbox
): bool
Deletes the specified mailbox
.
参数
-
imap
-
IMAP\Connection 实例。
-
mailbox
-
The mailbox name, see imap_open() for more information
警告Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.
返回值
成功时返回 true
, 或者在失败时返回 false
。
更新日志
版本 | 说明 |
---|---|
8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受 资源(resource)。
|
参见
- imap_createmailbox() - Create a new mailbox
- imap_renamemailbox() - Rename an old mailbox to new mailbox
-
imap_open() - Open an IMAP stream to a mailbox for the format of
mbox

User Contributed Notes 2 notes
kenstumpf<a>hotmail.com ¶
18 years ago
Recent versions of the Cyrus imapd define mailbox ACLs as follows:
c (create)
The user may create new sub-mailboxes of the mailbox, or delete or rename the current mailbox.
d (delete)
The user may store the "Deleted" flag, and perform expunges.
This means to delete a mailbox, you will need to give the user you are connecting with via imap_open() "c" rights on the mailbox in order for imap_deletemailbox() to work. Setting "d" rights for yourself is not the same.
Check the documentation for your version of Cyrus imapd.
sanin at kset dot org ¶
15 years ago
When deleting user account(s) from IMAP server don't forget to put full server name and port. Also need to be logged as IMAP admin and set ACL.
This worked for Cyrus:
<?php
//Credentials
$cyrusadmin_username="cyrus";
$cyrusadmin_password="cyruspassword";
$cyrus_serverip="fellowship.ring.net";
//User to delete
$username="frodoBaggins";
//Open the connection to IMAP server (Cyrus)
$mbox=imap_open("{".$serverip.":143}",$cyrusadmin_username, $cyrusadmin_password, OP_HALFOPEN)
or die('IMAP Could not connect because '.imap_last_error());
//Set ACL - Give rights to $cyrusadmin_username to delete mailbox
imap_setacl ($mbox, "user.".$username, $cyrusadmin_username, "lrswipcda")
or die('Could not setacl on mailbox');
//Delete mailbox
imap_deletemailbox($mbox,"{".$serverip.":143}user.".$username)
or die('Could not delete mailbox');
?>
备份地址:http://www.lvesu.com/blog/php/function.imap-deletemailbox.php