chasquid

command module
v0.0.0-...-bb97991 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2019 License: Apache-2.0 Imports: 24 Imported by: 0

README

chasquid

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.

Travis-CI build status pipeline status Go Report Card Coverage Status GoDoc Freenode

Features

  • 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 and Ubuntu.
    • 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.

Documentation

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.

Contact

If you have any questions, comments or patches please send them to the mailing list, chasquid@googlegroups.com.

To subscribe, send an email to chasquid+subscribe@googlegroups.com.

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

Documentation

Overview

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

See https://blitiri.com.ar/p/chasquid for more details.

Directories

Path Synopsis
cmd
internal
aliases
Package aliases implements an email aliases resolver.
Package aliases implements an email aliases resolver.
auth
Package auth implements authentication services for chasquid.
Package auth implements authentication services for chasquid.
config
Package config implements the chasquid configuration.
Package config implements the chasquid configuration.
courier
Package courier implements various couriers for delivering messages.
Package courier implements various couriers for delivering messages.
domaininfo
Package domaininfo implements a domain information database, to keep track of things we know about a particular domain.
Package domaininfo implements a domain information database, to keep track of things we know about a particular domain.
dovecot
Package dovecot implements functions to interact with Dovecot's authentication service.
Package dovecot implements functions to interact with Dovecot's authentication service.
envelope
Package envelope implements functions related to handling email envelopes (basically tuples of (from, to, data).
Package envelope implements functions related to handling email envelopes (basically tuples of (from, to, data).
maillog
Package maillog implements a log specifically for email.
Package maillog implements a log specifically for email.
normalize
Package normalize contains functions to normalize usernames, domains and addresses.
Package normalize contains functions to normalize usernames, domains and addresses.
protoio
Package protoio contains I/O functions for protocol buffers.
Package protoio contains I/O functions for protocol buffers.
protoio/testpb
Package testpb is a generated protocol buffer package.
Package testpb is a generated protocol buffer package.
queue
Package queue implements our email queue.
Package queue implements our email queue.
safeio
Package safeio implements convenient I/O routines that provide additional levels of safety in the presence of unexpected failures.
Package safeio implements convenient I/O routines that provide additional levels of safety in the presence of unexpected failures.
set
Package set implement sets for various types.
Package set implement sets for various types.
smtp
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
smtpsrv
Package smtpsrv implements chasquid's SMTP server and connection handler.
Package smtpsrv implements chasquid's SMTP server and connection handler.
sts
Package sts implements the MTA-STS (Strict Transport Security), RFC 8461.
Package sts implements the MTA-STS (Strict Transport Security), RFC 8461.
testlib
Package testlib provides common test utilities.
Package testlib provides common test utilities.
tlsconst
Package tlsconst contains TLS constants for human consumption.
Package tlsconst contains TLS constants for human consumption.
trace
Package trace extends golang.org/x/net/trace.
Package trace extends golang.org/x/net/trace.
userdb
Package userdb implements a simple user database.
Package userdb implements a simple user database.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL