函数名: imap_mail_move()
适用版本: PHP 4 >= 4.0.7, PHP 5, PHP 7
用法: imap_mail_move( resource $imap_stream, string $msglist, string $mailbox [, int $options = 0 ] ) : bool
函数描述:该函数用于将指定的邮件从一个邮箱移动到另一个邮箱。
参数:
- $imap_stream:必需,一个有效的IMAP流资源,通过imap_open()函数获得。
- $msglist:必需,要移动的邮件标识符列表,可以是单个标识符或用逗号分隔的多个标识符。
- $mailbox:必需,目标邮箱的名称,可以是本地邮箱或远程邮箱。
- $options:可选,移动选项。默认为0,表示不使用任何选项。
返回值:成功时返回true,失败时返回false。
示例:
// 连接到IMAP服务器
$imap_stream = imap_open("{mail.example.com:993/imap/ssl}", "username", "password");
// 将邮件标识符为1的邮件移动到"Archive"邮箱
if (imap_mail_move($imap_stream, "1", "Archive")) {
echo "邮件移动成功!";
} else {
echo "邮件移动失败!";
}
// 关闭IMAP连接
imap_close($imap_stream);
注意事项:
- 在使用此函数之前,必须先通过imap_open()函数连接到IMAP服务器。
- 邮件标识符可以通过其他IMAP函数(如imap_search())获取。
- 目标邮箱可以是本地邮箱(例如"Inbox"、"Sent")或远程邮箱(例如"username@example.com/Archive")。
- 可以通过设置$options参数来使用不同的选项,如IMAP_OP_MOVE(使用MOVE命令进行移动而不是COPY命令)。
- 如果移动成功,源邮箱中的邮件将被删除,如果移动失败,源邮箱中的邮件将保持不变。
- 在使用完imap_mail_move()函数后,建议使用imap_expunge()函数来彻底删除已标记为删除的邮件。
更多信息和示例,请参考PHP官方文档:https://www.php.net/manual/en/function.imap-mail-move.php