检测imap_delete()和imap_expunge()的成功删除
问题描述:
我目前在不稳定的网络背后。网络断开经常发生。检测imap_delete()和imap_expunge()的成功删除
有没有办法找到与 imap_expunge一起使用imap_delete是否实际删除邮件,因为imap_delete总是 返回true,不管是什么。
我试图建立一个自定义的错误处理程序,但发现,无论是任何异常,也没有任何警告或错误正在被imap_delete出具()或imap_expunge()
答
谁也不能完全肯定:imap_delete将设置一个\ Deleted标志。
有几个不同的方案: 案例1:
1) The `STORE` command was received by the server
2) We received an `OK`.
如果从服务器接收OK,你可以肯定服务器接受的命令(虽然,该消息可能根本不存在,和对一个不存在的邮件设置标志不一定是错误)
案例2:
1) The `STOR`E command was received by the server
2) We did not receive the `OK` due to network failure
在这种情况下,你不能肯定磨她的邮件被标记为已删除或没有,因为您没有收到确定。在这种情况下,重新连接时应重新发出删除。
案例3:
1) The `STORE` command was not received by the server.
2) We did not receive `OK` due to network failure
这是从以前的情况下,难以区分。您应该重新发布删除。再次储存国旗可能是多余的,但它不会伤害任何东西。
我认为后两种情况会导致某种错误,在这种情况下重新发布命令是安全的。希望使用PHP库的人可以参与其中。
感谢您的答案,但我怎样才能收到'OK'命令? – Snehasish 2014-10-10 07:55:55
imap_delete()不返回任何东西..我怎样才能收到OK命令?请告诉.. – Snehasish 2014-10-12 08:15:46
假设它返回它是成功的?我不知道如何在PHP中使用异常 – Max 2014-10-12 14:51:19