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.
- 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
- 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
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.
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.
You can run WildDuck on any system that supports Node.js, MongoDB and Redis.
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.
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.
WildDuck is licensed under the European Union Public License, version 1.2
- Streaming events from server in real time
2. Encrypting incoming messages