php - imap_delete 不工作

标签 php imap pop3

我正在使用 php imap 函数来解析来自网络邮件的消息。我可以一条一条地获取消息并将它们保存在数据库中。保存后,我想删除收件箱消息。 imap_delete 函数在这里不起作用。我的代码是这样的:

$connection = pop3_login($host,$port,$user,$pass,$folder="INBOX",$ssl=false);//connect
$stat = pop3_list($connection);//list messages

foreach($stat as $line) {
  //save in db codes...
  imap_delete($connection, $line['msgno']);//flag as delete
}

imap_close($connection, CL_EXPUNGE);

我还测试了 - imap_expunge($connection);
但它不起作用。消息不会被删除。请帮帮我...

最佳答案

您正在混合使用 POP 和 IMAP。

那是行不通的。您需要打开与 IMAP 的连接。看这个例子:

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

关于php - imap_delete 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3641005/

相关文章:

PHP 表单和填充下拉问题

java - 无法访问 GreenMail 收到的电子邮件的属性

gmail - IMAP 客户端如何以编程方式取消 Gmail 标签重命名

jakarta-mail - 如何从pop3协议(protocol)的UID获取邮件

php - 在 PHP 中使用 count() 计算 PDO 的结果?

PHP fgetcsv 和自定义行结束符

php - 如何让这个 session 进入另一个.php?edit<?php echo $result->id;?>

open-source - 跨平台 C++ IMAP 库

java - POP 服务器是否按照邮件发送时间的顺序提供电子邮件?

linux - TIdSMTPServer 和 TIdPOP3Server 无法在 UBUNTU LINUX 中启动