There is a known bug that `quanta` clock used by default sometimes jumps back: <https://github.com/metrics-rs/quanta/issues/111>. This results in `governor` rate limiter incorrectly rejecting the messages even when less than the configured burst size has been sent. Switched to standard monotonic clock which does not have this problem. I tested that this fixed the problem for me, chatmail relay test `test_exceed_rate_limit` stopped failing randomly. Fixes <https://github.com/chatmail/filtermail/issues/166>
Chatmail relays for end-to-end encrypted email
Chatmail relay servers are interoperable Mail Transport Agents (MTAs) designed for:
-
Zero State: no private data or metadata collected, messages are auto-deleted, low disk usage
-
Instant/Realtime: sub-second message delivery, realtime P2P streaming, privacy-preserving Push Notifications for Apple, Google, and Huawei;
-
Security Enforcement: Only connections with strict TLS are accepted; all messages must be correctly signed with DKIM and OpenPGP-encrypted with minimized metadata. There are experimental exceptions for no-DNS relays, which are allowed use self-signed TLS certificates and which do not need to DKIM-sign their messages. Unencrypted messages are allowed in neither case.
-
Reliable Federation and Decentralization: No spam or IP reputation checks, federating depends on established IETF standards and protocols.
This repository contains everything needed to setup a ready-to-use chatmail relay on an ssh-reachable host. For getting started and more information please refer to the web version of this repositories' documentation at