The intention is to keep to repo root clean while the list of packages is slowly growing. Additionally, a bunch of small (~30 LoC) files in the repo root is merged into a single maddy.go file, for the same reason. Most of the internal code is moved into the internal/ directory. Go toolchain will make it impossible to import these packages from external applications. Some packages are renamed and moved into the pkg/ directory in the root. According to https://github.com/golang-standards/project-layout this is the de-facto standard to place "library code that's ok to use by external applications" in. To clearly define the purpose of top-level directories, README.md files are added to each.
maddy
Simple, fast, secure all-in-one mail server.
⚠️ Disclaimer: maddy is in development, many planned features are missing, bugs are waiting to eat your messages and incompatible changes happen from time to time
Features
- Comprehensive & secure
- Simple to configure
- Two steps (excluding messing with DNS) to get your own secure mail server running
- Virtual users > system users
- Fast
- Optimized for concurrency
- Single process model allows more efficient implementation
- Useful
- Subaddressing support
- DNSBL checking support
- Messages compression (LZ4, Zstd)
Planned:
- Backscatter filtering (BATV) (#106)
- Address aliases (#82, #18)
- Zero-configuration full-text search (foxcpp/go-imap-sql#21)
- Milter protocol support (#16)
- DANE (#50)
- Server-side messages encryption (#75)
- JMAP (#19)
Installation & configuration
Detailed explaination of what you need to do to get it running can be found here.
Documentation
Reference documentation is maintained as a set of man pages in the scdoc format. Rendered pages can be browsed here.
Tutorials and misc articles can be found on the project wiki.
Examples of more advanced configurations with explainations can be found in the examples directory.
Community
There is IRC channel on freenode.net named #maddy. You can join it if you have any questions or just want to talk.
Also there is public mailing list for maddy-related discussions on https://lists.sr.ht/~foxcpp/maddy. You can use it too.
Contributing
License
The code is under MIT license. See LICENSE for more information.