[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Some pop3 kioslave enhancements
From:       Andreas Pour <pour () mieterra ! com>
Date:       2000-01-12 15:20:14
[Download RAW message or body]

Alex Zepeda wrote:

> On Mon, 10 Jan 2000, Don Sanders wrote:
>
> > It is reasonable simply. Define a slot for getting individual directory entries.
> > Call KIOJob::listDir. Have the slot iterate over the KUDSAtoms in the KUDSEntry
> > passed in, until the UDS_NAME atom is found, then append that to a list of
> > message ids. (Or at least that's the way I remember it).
> >
> > But it's significantly simpler to process the raw data returned from the pop
> > server. (Which is a CR seperated string of msgId-space-msgSize lines).
> >
> > If I start to support IMAP then perhaps I would swap over to using listDir if
> > it means I could reuse the same source code for both pop and imap accounts.
> > (I guess IMAP listDir would return subdirectories for subfolders and pop would
> > never return any subdirectories).
>
> I pretty much agree with everything else.  But I figure that I might point
> out that this was my intended goal, to allow the same API for pop3, imap4,
> and perhaps local maildir or mbox format maildrops.  Something that
> parsing "raw" data wouldn't allow.  A bit more complexity, for a bit more
> flexibility. ;)

Actually, this probably is not that hard.  The IMAP C-client available from U.Wash
already does this.  Their documentation states:

    Network protocols supported by c-client drivers are the Internet
    Mail Access Protocol (all versions: IMAP4rev1, IMAP4, IMAP2bis, and
    IMAP2); the Post Office Protocol (version 3); and the Network News
    Transport Protocol (NNTP).  In addition, c-client also supports NNTP
    and the Simple Mail Transport Protocol (SMTP) for mailbox transport.

They also have drivers for local mailboxes (mbox/maildir).  Finally, they state it
should not be hard to add drivers for database backends.  The license is quite
unrestricted . . . .

The (rough) list of supported functions (implemented in PHP3) is available at
http://www.php.net/manual/html/ref.imap.html.  Might give you some ideas for the API.

Regards,

Andreas

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic