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). |
expvarom
Package expvarom implements an OpenMetrics HTTP exporter for the variables from the expvar package.
|
Package expvarom implements an OpenMetrics HTTP exporter for the variables from the expvar package. |
haproxy
Package haproxy implements the handshake for the HAProxy client protocol version 1, as described in https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.
|
Package haproxy implements the handshake for the HAProxy client protocol version 1, as described in https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. |
localrpc
Local RPC package.
|
Local RPC package. |
maillog
Package maillog implements a log specifically for email.
|
Package maillog implements a log specifically for email. |
nettrace
Package nettrace implements tracing of requests.
|
Package nettrace implements tracing of requests. |
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. |
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 nettrace with logging.
|
Package trace extends nettrace with logging. |
userdb
Package userdb implements a simple user database.
|
Package userdb implements a simple user database. |
test
|
|
util/conngen
SMTP connection generator, for testing purposes.
|
SMTP connection generator, for testing purposes. |
util/coverhtml
Generate an HTML visualization of a Go coverage profile.
|
Generate an HTML visualization of a Go coverage profile. |
util/fexp
Fetch an URL, and check if the response matches what we expect.
|
Fetch an URL, and check if the response matches what we expect. |
util/generate_cert
Utility to generate self-signed certificates.
|
Utility to generate self-signed certificates. |
util/loadgen
SMTP load generator, for testing purposes.
|
SMTP load generator, for testing purposes. |
util/minidns
minidns is a trivial DNS server used for testing.
|
minidns is a trivial DNS server used for testing. |
Click to show internal directories.
Click to hide internal directories.