不要让 "...string old_mbox, string new_mbox);" 欺骗了你。你还必须将服务器和端口添加到邮箱名称中。所以它应该是这样的
imap_renamemailbox($mailbox, "{localhost:143}$oldfolder", "{localhost:143}$newfolder")
我只是想指出这一点,我花了一段时间才弄明白。
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_renamemailbox — 将旧邮箱重命名为新邮箱
此函数将旧邮箱重命名为新邮箱(有关 mbox
名称的格式,请参阅 imap_open())。
imap
一个 IMAP\Connection 实例。
from
旧邮箱名称,有关更多信息,请参阅 imap_open()
除非禁用 imap.enable_insecure_rsh,否则将不受信任的数据传递给此参数是不安全的。
to
新邮箱名称,有关更多信息,请参阅 imap_open()
除非禁用 imap.enable_insecure_rsh,否则将不受信任的数据传递给此参数是不安全的。
版本 | 描述 |
---|---|
8.1.0 | 现在,imap 参数需要一个 IMAP\Connection 实例;以前,需要一个有效的 imap 资源。 |
不要让 "...string old_mbox, string new_mbox);" 欺骗了你。你还必须将服务器和端口添加到邮箱名称中。所以它应该是这样的
imap_renamemailbox($mailbox, "{localhost:143}$oldfolder", "{localhost:143}$newfolder")
我只是想指出这一点,我花了一段时间才弄明白。
不要忘记您不能连接到要重命名(或删除)的邮箱。
如果您有以下邮箱
INBOX
INBOX.Foo
...并希望将“INBOX.Foo”重命名为“INBOX.Bar”,您必须连接到“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);
?>