Opinionated email server
Find a file
2017-03-06 16:13:40 +02:00
config fixed broken imap 2017-03-06 16:13:40 +02:00
imap-core Initial preview 2017-03-05 23:45:50 +02:00
.eslintrc Initial preview 2017-03-05 23:45:50 +02:00
.gitignore Initial preview 2017-03-05 23:45:50 +02:00
api.js fixed broken imap 2017-03-06 16:13:40 +02:00
Gruntfile.js Initial preview 2017-03-05 23:45:50 +02:00
imap-notifier.js Initial preview 2017-03-05 23:45:50 +02:00
imap.js fixed broken imap 2017-03-06 16:13:40 +02:00
indexes.js Initial preview 2017-03-05 23:45:50 +02:00
LICENSE Initial preview 2017-03-05 23:45:50 +02:00
lmtp.js fixed broken imap 2017-03-06 16:13:40 +02:00
package.json fixed broken imap 2017-03-06 16:13:40 +02:00
README.md fixed broken imap 2017-03-06 16:13:40 +02:00
server.js fixed broken imap 2017-03-06 16:13:40 +02:00

Wild Duck Mail Agent

This is a very early preview of an IMAP server built with Node.js and MongoDB.

Goals of the Project

  1. Build a scalable IMAP server that uses clustered database instead of single machine file system as mail store
  2. Push notifications. Your application (eg. a webmail client) should be able to request changes (new and deleted messages, flag changes) to be pushed to client instead of using IMAP to fetch stuff from the server

Usage

Install dependencies

npm install --production

Modify config file

Run the server

npm start

Create user

Users can be created with HTTP requests

POST /user/create

Arguments

  • username is an email address of the user
  • password is the password for the user

Example

curl -XPOST "http://localhost:8080/user/create" -H 'content-type: application/json' -d '{
    "username": "username@example.com",
    "password": "secretpass"
}'

The response for successful operation should look like this:

{
    "success": true,
    "id": "58bd6815dddb5ac5063d3590",
    "username": "username@example.com"
}

After you have created an user you can use these credentials to log in to the IMAP server. Additionally the LMTP server starts accepting mail for this email address.

License

Wild Duck Mail Agent is licensed under the European Union Public License 1.1.