Giter Site home page Giter Site logo

mel-base's Introduction

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.

mel-base's People

Contributors

arnoo avatar eudoxia0 avatar ferada avatar gitter-badger avatar knusbaum avatar neonsquare avatar ptroja avatar ralcantaraperez avatar svetlyak40wt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.