You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alberto Bertogli a5bd8cbc0d docker: Install libcap2-bin binary 1 month ago
cmd mda-lmtp: Add -to_puny, to punycode-encode addresses 3 months ago
docker docker: Install libcap2-bin binary 1 month ago
docs docs: v1.8 release notes 2 months ago
etc hooks: Add dkimpy support 3 months ago
internal trace: Remove restriction on tracing pages 4 months ago
test hooks: Add dkimpy support 3 months ago
.cirrus.yml cirrus: Remove Linux tests 4 months ago
.gitignore test: Remove dependency on wget 11 months ago
.gitlab-ci.yml gitlab-ci: Push a `latest` tag to Docker repositories 2 months ago
.mkdocs.yml docs: Add a page for known issues 5 months ago
.travis.yml travis: Remove references in documentation, allow to fail 1 year ago
LICENSE Add a license 5 years ago
Makefile test: Add stress tests 3 years ago doc: Expand contact to include GitHub issues, and security reports 4 months ago
chasquid.go dovecot: Retry auto-detect until we find a usable socket pair 5 months ago
coverage_test.go test: Add tools to generate test coverage information 3 years ago
dnsoverride.go test: Add TLS tracking integration test 3 years ago
go.mod modules: Update Go modules and regenerate protobufs 4 months ago
go.sum modules: Add missing sum 4 months ago
monitoring.go Add /exit endpoint to monitoring server 11 months ago


chasquid is an SMTP (email) server with a focus on simplicity, security, and ease of operation.

It is designed mainly for individuals and small groups.

It's written in Go, and distributed under the Apache license 2.0.

Gitlab CI status Cirrus-CI Status Go Report Card Coverage


  • Easy
    • Easy to configure.
    • Hard to mis-configure in ways that are harmful or insecure (e.g. no open relay, or clear-text authentication).
    • Monitoring HTTP server, with exported variables and tracing to help debugging.
    • Integrated with Debian, Ubuntu, and Arch.
    • Supports using Dovecot for authentication.
  • Useful
    • Multiple/virtual domains, with per-domain users and aliases.
    • Suffix dropping (user+something@domainuser@domain).
    • Hooks for integration with greylisting, anti-virus, anti-spam, and DKIM/DMARC.
    • International usernames (SMTPUTF8) and domain names (IDNA).
  • Secure
    • Tracking of per-domain TLS support, prevents connection downgrading.
    • Multiple TLS certificates.
    • Easy integration with Let's Encrypt.
    • SPF and MTA-STS checking.


The how-to guide and the installation guide are the best starting points on how to install, configure and run chasquid.

You will find all documentation here.


If you have any questions, comments or patches, please send them to the mailing list,
To subscribe, send an email to

Security issues can be reported privately to

Bug reports and pull requests on GitHub are also welcome.

You can also reach out via IRC, #chasquid on OFTC.