I'm using Net::POP3 in Perl to iterate through a mailbox on an MS Exchange server. I run the UIDL command on each message number and compare the ID returned to previously-seen IDs to see if I've dealt with this message in the past. However, I'm also finding that within an individual POP3 mailbox, the same UID seems to come up multiple times for different messages.
Any idea why this might be happening? Is the UID not truly unique? Or are the messages somehow being duplicated within the same mailbox?
The UIDL capability indicates that the optional UIDL command is supported. POP3 servers may assign a unique number to each incoming mail message. This allows mail to be left on the server after it has been downloaded to the user.
Client Access Server (CAS): Hosts the client protocols, such as POP3, IMAP4, HTTPS, Outlook Anywhere, Availability service, and Autodiscover service. CAS also hosts Web services.
Exchange is a Microsoft protocol, which offers all the same function as IMAP with additional power to sync tasks, contacts and calendars with co-workers, and view them from any device.
POP (Post Office Protocol) is a simple email service which allows your email client (i.e. Outlook, Thunderbird, Mac Mail) to connect to the mail server and download your emails directly to your computer or mobile device. The downloaded emails are then removed from the server.
The RFC says:
While it is generally preferable for server implementations to store arbitrarily assigned unique-ids in the maildrop, this specification is intended to permit unique-ids to be calculated as a hash of the message. Clients should be able to handle a situation where two identical copies of a message in a maildrop have the same unique-id.
[my emphasis]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With