PHP 8.4.6 Released!

imap_renamemailbox

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

imap_renamemailboxRename an old mailbox to new mailbox

Description

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).

Parameters

imap

An IMAP\Connection instance.

from

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

Warning

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

Warning

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

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.

See Also

User Contributed Notes

josh at paducahwebpublishing dot com
25 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.
Christoffer Lindahl
14 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