fetchmail-friends
[Top] [All Lists]

Re: [fetchmail]fetchmail fork?

2004-05-25 10:56:26
Brian Candler <B(_dot_)Candler(_at_)pobox(_dot_)com> writes:

Each module supports a few simple primitives:
- OPEN (connect to server, authenticate if required/requested)
- LIST (list all messages within mailbox, returning UID for each)
- FETCH (fetch a given message, and its envelope if available)
- DELETE
- PUT (store a message)
- CLOSE

This lacks the important primitives:

CAPABILITY (query capabilities of module)
BEGIN (might be implied by OPEN)
COMMIT (sometimes includes CLOSE, POP3, see below)
ABORT (or ROLLBACK)

And it lacks extensibility. We may not fancy any use for that now, but
we must be able to extend such an architecture.

A mail transport takes place in transactions. How fine we cut this,
i. e. how large is one transaction, is a separate question, and as an
example, let's look at POP3:

primitive         implementation

OPEN          <-> USER-PASS sequence or AUTH
LIST          <-> LIST
FETCH         <-> RETR
DELETE        <-> DELE
PUT               not supported, yields error
ABORT         <-> RSET (or drop connection)
COMMIT+CLOSE  <-> QUIT

-- 
Matthias Andree

Encrypted mail welcome: my GnuPG key ID is 0x052E7D95


<Prev in Thread] Current Thread [Next in Thread>