Camel.POP3

The CamelPOP3 backend implements a partial storage for the retrieval of mail via POP.

Apart from the usual, SSL, TLS, unencrypted connections, SASL authentication modes, it supports the PIPELINING extension.

It relies heavily on the server supporting UIDL for listing messages by UID. Without this, a UID is generated from a hash of certain headers - despite being potentially unreliable, it is also a considerable overhead.

POP3 Folder

The POP3 folder is a summary-less, searching-less folder which only provides the ability to get the list of UID's on the folder, and retrieve each message.

Once a message is asked for, the POP3 code will ask for subsequent messages if pipelining is available - since normally all messages are processed in a given session.

All message downloads are cached, so that subsequent requests for the same message (i.e. in the event of a failure), will be handled locally.

Notes

This code has a few bugs but is relatively robust. The pipelinging code does complicate things somewhat in the case of exceptions, although a few years of hardening has got most of the problems sorted out.

Apps/Evolution/Camel.POP3 (last edited 2013-08-08 22:50:00 by WilliamJonMcCann)