How to find only “new” messages when using PHP's IMAP functions for a POP3 mailbox?

前端 未结 2 859
無奈伤痛
無奈伤痛 2020-12-21 23:25

I\'m using PHP\'s IMAP functions to retrieve messages from a POP3 mailbox & was wondering is there any way to tell the new messages apart from the old ones?

Unfo

相关标签:
2条回答
  • 2020-12-21 23:29

    Well found this..

    Basically, pop3 protocol doesn't support this function. However, you can implement this with message-id. Message-Id is an unique identifier of email on POP3 server. Your application can get message-id of a specified email by GetMsgID method of POPMAIN object.

    Firstly, your application should record message-id of email retrieved to a local message-id list. Next time before you retrieve email, compare local message-id with remote message-id. If this message-id exists in your local message-id list, then it is old, otherwise it is new.

    Although I'm pretty sure I read before that not all clients will returns the message_id... anyone know if this is correct?

    0 讨论(0)
  • 2020-12-21 23:29

    This worked for me:

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

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

    0 讨论(0)
提交回复
热议问题