Skip to content

A minimal IMAP client interface exposing mailboxes, envelopes and messages.

License

Notifications You must be signed in to change notification settings

cull-email/imap

Repository files navigation

imap for Cull

A minimal IMAP client interface exposing mailboxes, envelopes and messages.

Limitations

This library is neither feature complete nor Production Ready™.

It is intended for short-lived connections and is generally useful as an introduction to IMAP and for quickly retrieving mailboxes, envelopes and message data in most cases.

The following is not currently implemented:

Installation

npm install @cull/imap

Usage

import Client from '@cull/imap';

let c = new Client({
  host: 'mail.example.com',
  user: '[email protected]',
  pass: 'password',
});

async () => {
  try {
    await c.connect();
    let mailboxes = await c.mailboxes();
    let envelopes = await c.envelopes('some/mailbox');
    let messages = await c.messages('inbox', '1:3');
    let headers = await c.headers('inbox');
  } catch (error) {
    console.error(error);
  } finally {
    await c.disconnect();
  }
}();

Alternatively, study the tests.

Development

makefile codifies directives for building, testing, linting and other development oriented tasks.