Dovel
Simple Go-based SMTP server for receiving and sending mail
Activity unknown
No repository statistics available for this project.

Dovel is a lightweight SMTP server written in Go that focuses on simplicity and extensibility. It receives and sends email according to a single JSON configuration file and delegates mailbox/storage actions to user-provided hooks.
Key Features
- Written in Go with a single config file (defaults to $XDG_CONFIG_DIR/dovel/config.json) for easy setup and portability.
- Receives mail and executes executable hooks named receive-<DOMAIN>, passing the message in mbox format to the hook for custom storage or processing.
- Sends mail using a configured vault/users JSON file and supports per-user DKIM signing for outbound messages.
- TLS support via certificate and private key fields in the config (used for encrypted SMTP on submission ports).
- Listens on standard SMTP ports (25, 587, 465, 2525 configurable) and exposes a simple optional web interface for browsing messages.
- Debug/logging controlled by the DEBUG environment variable for developer troubleshooting.
Use Cases
- Self-hosted personal or small-team mail handling where incoming messages are processed by custom scripts (hooks) and stored in custom formats.
- Developer workflows that need programmatic delivery of inbound email to local tools, APIs, or archiving scripts.
- Simple transactional mail sender for services that can provide per-user DKIM keys and manage DNS records for deliverability.
Limitations and Considerations
- No built-in IMAP/POP3 mailbox server functionality; message storage/management is delegated to hooks so external tooling is needed for mailbox access.
- No integrated spam filtering, antivirus, or advanced MTA features (bouncing policies, rate limiting, reputational services) — these must be provided externally.
- Deliverability requires correct DNS/SPF/DKIM/DMARC configuration and operational handling (outbound reputation, PTR records) which are not automated by the server.
Dovel provides a compact, script-extensible SMTP server implementation intended for users who prefer a minimal, Go-based mail gateway that hands message storage and processing to custom hooks. It is most appropriate where straightforward SMTP receive/send behavior and per-message scripting are sufficient.
Categories:
Tags:
Tech Stack:
Similar to Dovel
OpenSMTPD
Secure, lightweight SMTP server implementation compliant with RFC 5321
OpenSMTPD is an open-source, minimal SMTP daemon from the OpenBSD project providing an RFC-compliant MTA with privilege separation, table backends, filters and TLS support.

emailwiz
Bash-based installer that deploys a secure Debian/Ubuntu mail server stack.
A Bash script that auto-implements a full mail server (Postfix, Dovecot, DKIM, SpamAssassin) with TLS and PAM-based logins on Debian/Ubuntu.
Maddy Mail Server
Composable all-in-one SMTP/IMAP mail server with security features
Go-based, modular mail server implementing SMTP/LMTP/IMAP with built-in DKIM/SPF/DMARC, storage backends (SQLite/Postgres/S3), Prometheus metrics and Docker support.
chasquid
Simple and secure SMTP mail transfer agent (MTA)
chasquid is a minimalist SMTP server (MTA) for individuals and small groups, focused on secure defaults, easy configuration, and straightforward operation.
Postfix
Secure and efficient SMTP mail transfer agent (MTA)
Postfix is a fast, secure, and easy-to-administer SMTP server for sending and routing email on Unix-like systems, commonly used as an MTA or mail relay.

Exim
Configurable SMTP message transfer agent for Unix-like systems
Exim is an open source SMTP message transfer agent (MTA) for Unix-like systems, offering flexible mail routing and extensive controls for handling inbound email.



