不要被 "...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);
?>