0.1.2 • Published 8 years ago

ses-imap v0.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

IMAP Server for Amazon Simple Email Service (SES)

This module is an IMAP server to be used with Amazon SES.

SES provides an SMTP server for outbound email; however, it doesn't include any service to process incoming email messages. Incoming email is stored in S3 buckets (which can be configured on a per-email-account basis).

SES-IMAP uses Imapper as the IMAP server, with Imapper-Storage-S3SES and Imapper-Auth-S3 to access the message data and email account authentication credentials stored in S3. It also requires that an AWS Lambda function be set up using SES S3 Lambda and triggered by an S3 PUT event for the email account(s) configured.

NOTE This module and the storage plugin is still under development and may not be suited to production use.

Usage

imapper-auth-s3 uses the Amazon SDK. Make sure you have set up the SDK per the Amazon JavaScript SDK Getting Started Guide.

Download from the GitHub repository or use npm install:

npm install ses-imap

Start the server from the command line:

sudo node ses-imap --mbox-bucket maildata

Configuration options

The following parameters can be passed when starting the server:

  • --mbox-bucket <bucketname> : Required. The S3 bucket where the mailbox metadata is stored. No default value.
  • --auth-suffix <suffix> : Optional. The suffix added to the authentication file name. Default is '.auth.json'.
  • --mbox-suffix <suffix> : Optional. The account metadata file suffix. Default is '.mbox.json'.
  • --mlist-suffix <suffix> : Optional. The account message index file suffix. Default is '.messagelist.json'.
  • --mail-suffix <suffix> : Optional. The suffix used for the account S3 bucket containing the messages. Default is '.ses.inbound'.
  • --port <portnum> : Optional. Port number the server listens on. Default is 143.

The following parameters are optional. Omitting them defaults the values to false, while using them sets them to true.

  • --usetls : Whether to support upgradable TLS connections. Relevant only if --usessl is not set.
  • --usessl : Default is false.
  • --debug : Verbose console output. Default is false.

You can also specify the plugins Imapper should use. The STARTTLS and IDLE plugins are enabled by default. You can override what plugins by including the following parameters:

--plugin-id, --plugin-starttls, --plugin-sasl-ir, --plugin-auth-plain, --plugin-namespace, --plugin-idle, --plugin-enable, --plugin-condstore, --plugin-xtoybird, --plugin-literalplus, --plugin-unselect, --plugin-special-use, --plugin-create-special-use

For more information about the plugins or server features please check the Imapper documentation.

License

MIT