在 PHP 的 imap_mail_move 函数中指定一个数字范围


Specify a range of numbers in PHP's imap_mail_move function

我非常想完成以下任务

imap_mail_move($imapStream, imap_num_msg($imapStream), "INBOX.Parsed");
imap_expunge($imapStream);

但这只会移动第一条消息,该函数显然需要一个范围才能正常工作。问题是php文档页面上的唯一示例如下

imap_mail_copy($mbox,'16','[Gmail]/Starred'); // 16 is the message number, which can also be a range.(ex: '1:15')

如果我尝试使用 sytax 1:15 或 1:imap_num_msg($imapStream),则会导致以下错误

Parse error: syntax error, unexpected ':'

如何将收件箱中的邮件总数移动到其他文件夹并正确指定该范围?

在 PHP 中,它必须是字符串类型。

$var = 1:15;

不是有效的 PHP 语法。您需要做:

$var = '1:15';

试试这一行:

imap_mail_copy($mbox, '1:'.imap_num_msg($imapStream), '[Gmail]/Starred');