imap_renamemailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_renamemailboxRename an old mailbox to new mailbox

说明

imap_renamemailbox(IMAP\Connection $imap, string $from, string $to): bool

This function renames on old mailbox to new mailbox (see imap_open() for the format of mbox names).

参数

imap

IMAP\Connection 实例。

from

The old mailbox name, see imap_open() for more information

警告

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

to

The new 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 实例,之前接受有效的 imap resource

参见

add a note

User Contributed Notes 2 notes

up
3
josh at paducahwebpublishing dot com
24 years ago
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.
up
1
Christoffer Lindahl
13 years ago
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);
?>
To Top