代码之家  ›  专栏  ›  技术社区  ›  Brett

在使用PHP的IMAP函数处理POP3邮箱时,如何只查找“新”邮件?

  •  1
  • Brett  · 技术社区  · 14 年前

    我正在使用PHP的IMAP函数从POP3邮箱中检索邮件&想知道有没有办法区分新邮件和旧邮件?

    不幸的是,我不能删除那些被检索到的邮件,因为它们需要保留在邮件服务器上,所以我现在想知道,在以后每次连接时,我如何才能检索新的邮件,或者能够将新的邮件与以前检索到的旧邮件区分开来?

    我知道每个邮件都有一个附加的UID,我可以使用这个。。不过,我已经读到,如果邮件被删除,这种情况可能会改变;因为邮件可能会从服务器上删除。

    2 回复  |  直到 12 年前
        1
  •  1
  •   Brett    14 年前

    找到了这个。。

    可以使用message-id实现此功能。message id是上电子邮件的唯一标识符 POPMAIN对象的方法。

    首先,您的应用程序应将检索到的电子邮件的邮件id记录到本地 带有远程消息ID。如果此消息ID存在于您的

    虽然我很确定我之前读过,不是所有的客户都会返回消息id。。。有人知道这是否正确吗?

        2
  •  0
  •   Omar Einea Man    7 年前

    这对我有效:

    $result = imap_search($connection, 'UNSEEN');
    

    https://www.electrictoolbox.com/php-imap-unread-messages/