WildDuck is a modern mail server software for IMAP and POP3. Modern being scalable, unicode-first and API-controlled. You can bundle WildDuck with Haraka and ZoneMTA to create a complete mail server.

You should consider using WildDuck when you have a large number of email accounts (1000+) with large quotas as WildDuck is designed to scale horizontally. For a smaller setup where everything fits into a single server you might want to use something proven like industry standard Postfix+Dovecot setup instead. To achieve scalability WildDuck is quite opinionated so if you are used to some specific configuration (ie. relying on Sieve) then you should not use WildDuck.

WildDuck WebMail – is a demo server running WildDuck. You can register an account and try sending and receiving messages through the web based client or set up an IMAP client to run against that server

NB! Sending emails from wildduck.email is disabled due to heavy spamming. Messages are accepted for delivery both from SMTP and webmail but not sent out. Sorry.

Source Code – WildDuck source on Github

API Documentation – WildDuck has a REST API to control all parts of the server

Quick Installer – to set up all required parts (WildDuck, Haraka, ZoneMTA, WildDuck Webmail) on an empty Ubuntu server. This allows you to test WildDuck on a single machine before trying to set up a more complicated cluster

Scalable

WildDuck does not use file system to store email messages (or any kind of data, to think of it) as everything is stored on a MongoDB cluster. WildDuck supports MongoDB sharding so you can set up your cluster as large as you want to.

For extra tuning WildDuck separates attachments from message content and stores these under a different database name, so you could mount a larger and less expensive SATA to store attachments while running everything else from smaller and faster SSD drives.

All WildDuck instances are stateless so to increase throughput you could just add more WildDuck application servers behind a TCP load balancer, no need to worry how to send specific users to specific mail servers.

IMAP Protocol Support

There are multiple newer and experimental mail server software projects that offer great scalability but lack on the protocol side, usually providing only the simplistic and less capable POP3 protocol. WildDuck has first-class support for IMAP, any email client should be able to connect to it.

андрис@уайлддак.орг

Yes, this is a valid email address, hosted by a WildDuck instance. WildDuck supports all unicode related extensions – email addresses, folder names, message headers and so on.

Advanced Security

While WildDuck is more secure by definition than most alternatives as it does not require root privileges, it does not touch the file system, it does not run any shell commands and is written in memory safe language, then it also has some built-in security features to help secure user accounts.

WildDuck supports Application Specific Passwords and multi factor authentication, it includes TOTP and U2F helper methods but you can also BYO. Security events are logged and can be inspected by the user. Users can also set their GPG public key to encrypt stored emails. Authentication attempts are rate limited to prevent brute forcing.

OS Agnostic

You can run WildDuck on any system that supports Node.js, MongoDB and Redis.

Granular Control

Everything in WildDuck can be controlled by REST API, no need to modify config files. This means mail account settings, email access, server side filtering, auto-replies and even DKIM setup to name a few.

Blazing Fast

While WildDuck works with any existing webmail software that uses IMAP or POP3 for mail access then the demo webmail is blazing fast compared to these alternatives. Webmail demo is a Node.js application that uses WildDuck REST API to access mail which means loading preparsed data straight from database instead of doing all the IMAP and MIME overhead.

Open Source

WildDuck is licensed under the European Union Public License, version 1.2

Contact

андрис@уайлддак.орг (or if you are using some out of date mail stack, then andris@wildduck.email)

Demos

Streaming events from server in real time

2. Encrypting incoming messages