Skip to content

40ants/mel-base

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 21 commits ahead of neonsquare:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

mel-base

This fork contains patches from other forks.

See ChangeLog.rst for more details.

Older project description

This library handles e-mail messages as first-class objects in Common Lisp. You can access messages from local Maildir folders or remote POP3, IMAP or SMTP servers. Reading and writing messages is all abstracted through a generic folder protocol: You can easily copy or move e-mails from a source folder (Maildir, POP3, IMAP) to different sink-folders (Maildir, IMAP, SMTP) using the same commands. Sending an E-Mail using MEL-BASE is done by just copying from its source folder to a SMTP folder.

An important design rule was that messages are never rewritten by MEL-BASE. Each message is stored octet by octet like the message-source provides it. Rewriting headers, encoding or other crude transformations are not done.

The folder protocols of MEL-BASE are designed to allow protocol specific optimizations. Moving messages is normally done by doing a copy and a delete afterwards. But on Maildir and IMAP those operations use the specific capabilities of their protocols. Moving an IMAP-Message from one IMAP-Mailbox to another is done without downloading the message first. The message objects are always read lazily. If a protocol allows finegrained access to message parts this is exploited by the architecture of MEL-BASE.

Future developments of MEL-BASE will emphasise making more portable by utilizing libraries like FLEXI-STREAMS, BORDEAUX-THREADS, USOCKET and so on. Another goal is to create an extension of the folder.

About

A versatile mail library for common lisp (active fork of neonsquare/mel-base)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Common Lisp 100.0%