Skip to content
@chatmail

chatmail

home of chatmail server, core Rust library and bindings infrastructure

Chatmail: secure and fast e-mail infrastructure for all

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.

Servers for interoperable cryptographically-secured Internet Message routing

  • 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 library with end-to-end encryption protocols and simulation models

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

Language Bindings for chatmail core Rust 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.

General E-mail Rust crates

  • 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).

Key 3rd party co-maintained dependencies

  • mimeparser A simple and robust Rust parser for MIME email messages.

  • rPGP IETF RFC9580 compliant OpenPGP Rust implementation with security audits.

Pinned Loading

  1. server server Public

    chatmail service deployment scripts and docs

    Python 179 20

  2. core core Public

    Chatmail Rust Core library, used by Android/iOS/desktop apps, bindings and bots 📧

    Rust 716 95

Repositories

Showing 10 of 15 repositories
  • .github Public
    chatmail/.github’s past year of commit activity
    0 0 0 0 Updated Mar 6, 2025
  • core Public

    Chatmail Rust Core library, used by Android/iOS/desktop apps, bindings and bots 📧

    chatmail/core’s past year of commit activity
    Rust 716 95 49 (1 issue needs help) 46 Updated Mar 6, 2025
  • server Public

    chatmail service deployment scripts and docs

    chatmail/server’s past year of commit activity
    Python 179 MIT 20 16 (1 issue needs help) 1 Updated Mar 6, 2025
  • provider-db Public

    Database of Email Providers and how well they work with DeltaChat

    chatmail/provider-db’s past year of commit activity
    HTML 60 MPL-2.0 35 8 0 Updated Mar 3, 2025
  • async-imap Public

    Async IMAP implementation in Rust

    chatmail/async-imap’s past year of commit activity
    Rust 104 Apache-2.0 20 17 (2 issues need help) 0 Updated Feb 3, 2025
  • notifiers Public

    Notify devices

    chatmail/notifiers’s past year of commit activity
    Rust 6 Apache-2.0 0 2 2 Updated Jan 28, 2025
  • models Public

    Formal specifications for chatmail

    chatmail/models’s past year of commit activity
    TLA 2 0BSD 1 0 0 Updated Dec 24, 2024
  • async-smtp Public
    chatmail/async-smtp’s past year of commit activity
    Rust 60 Apache-2.0 13 8 1 Updated Dec 5, 2024
  • async-native-tls Public

    Native TLS for futures and async-std

    chatmail/async-native-tls’s past year of commit activity
    Rust 70 Apache-2.0 21 7 4 Updated Jul 24, 2024
  • yerpc Public

    An ergonomic JSON-RPC server library in Rust with autocreated TypeScript client and OpenRPC specification

    chatmail/yerpc’s past year of commit activity
    Rust 39 5 7 3 Updated Jul 9, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.