Thanks for contributing to Open Mailserver.
- Keep the runtime container-first.
- Keep
moxas the mail runtime unless an intentional architectural change is being proposed. - Do not reintroduce host-level install scripts for
Postfix,Dovecot, or other system mail daemons. - Prefer changes that keep the CLI, API, and Docker deployment story aligned.
make install
make run
make lint
make testIf you prefer the direct Python workflow:
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
uv run ruff check
uv run pytest- Include tests for behavior changes whenever practical.
- Update docs when changing the install flow, runtime behavior, API, or operator-facing configuration.
- Keep the main
README.mdconcise; move detailed setup and API material intodocs/. - Call out security-sensitive changes clearly, especially around mailbox auth, runtime secrets, backups, and debug endpoints.
- Use GitHub issues for bugs, feature requests, and documentation gaps.
- For security vulnerabilities, follow the instructions in
SECURITY.md.