imap_renamemailbox()
(PHP 4, PHP 5, PHP 7)
Rename an old mailbox to new mailbox
说明
imap_renamemailbox(resource $imap_stream,string $old_mbox,string $new_mbox): bool
This function renames on old mailbox to new mailbox(see imap_open() for the format of$mboxnames).
参数
- $imap_stream
由imap_open()返回的 IMAP 流。
- $old_mbox
The old mailbox name, see imap_open() for more information
Warning
Passing untrusted data to this parameter isinsecure, unlessimap.enable_insecure_rsh is disabled.
- $new_mbox
The new mailbox name, see imap_open() for more information
Warning
Passing untrusted data to this parameter isinsecure, unlessimap.enable_insecure_rsh is disabled.
返回值
成功时返回TRUE,或者在失败时返回FALSE。
参见
imap_createmailbox()Create a new mailboximap_deletemailbox()Delete a mailbox
Don't forget that you can't be connected to the mailbox that you are going to rename (or delete).
If you have the following mailboxes:
INBOX
INBOX.Foo
...and want to rename "INBOX.Foo" to "INBOX.Bar" you have to be connected to "INBOX":
<?php
$mbox = imap_open('{imap.example.com}INBOX', 'username', 'password');
imap_renamemailbox($mbox, '{imap.example.com}INBOX.Foo', '{imap.example.com}INBOX.Bar');
imap_close($mbox);
?>
Don't let "...string old_mbox, string new_mbox);" fool you. You have to add the server and port to the mailbox name also. So it would be something like:
imap_renamemailbox($mailbox, "{localhost:143}$oldfolder", "{localhost:143}$newfolder")
Just thought I would point it out, it took me a while to figure it out.