Chatmail aims to comprehensively modernize the e-mail system to become fast, reliable and secure.
It involves two complementary project areas:
-
the
chatmail/server
template that automatically sets up a minimal e-mail server with battle-tested server components that are configured to work as Internet-Scale Message routers with anonymous instant onboarding and interoperable cryptography to secure all network connectivity between clients and servers; -
the
chatmail/core
library which implements the core chatmail protocol specification and neccessary parts of existing IETF standards to enable a wide range of higher level chat apps and bots to participate in the globally scaled federated Internet Messaging system, without them having to care for low level network and encryption protocols.
Both areas have undergone several independent security audits and are actively developed.
-
server is the main template to deploy a minimal and fast e-mail server providing instant onboarding and cryptographically secured interoperability.
-
dovecot is a fork of Dovecot 2.3 that includes a speed-patch that is also submitted upstream
-
notifiers is a minimal server that decrypts and forward device tokens to Mobile Push notification services (Google, Apple, etc.)
-
nixos-server is an experimental deployment using nixos-rebuild.
-
core Rust library and rpc-server that provides TLS-, DNS and HTTPS networking, SMTP, IMAP, Mime-parsing and building, as well as OpenPGP, Autocrypt and SecureJoin encryption/decryption.
-
securejoin protocol for end-to-end encrypted messaging safe against active attacks (MITM attacks).
-
models Peer-to-Peer group-membership algorithm simulated with Python and formal TLA+ modelling.
-
provider-db E-mail provider database containing configuration information for classic e-mail providers for use by the core library.
-
yerpc A JSON-RPC 2.0 server handler for Rust, with automatic generation of a TypeScript client.
-
rpc-client-go Go bindings for interacting with chatmail-rpc-server
-
Python bindings are currently contained in the core library directly and are available via deltachat-rpc-client.
-
async-imap IMAP client implementation in Rust.
-
async-smtp SMTP client implementation in Rust.
-
async-native-tls TLS implementation in Rust that uses native system libraries (used when RustTLS can not be used).
-
mimeparser A simple and robust Rust parser for MIME email messages.
-
rPGP IETF RFC9580 compliant OpenPGP Rust implementation with security audits.