From 03ca4a010b54c108fbe65fbec0e50ce249767db9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jagoda=20=C5=9Al=C4=85zak?= Date: Fri, 26 Jun 2026 11:38:25 +0200 Subject: [PATCH] docs(readme): Update Transport mode doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add information about workers, and synchronization of deliveries. Signed-off-by: Jagoda Ślązak --- filtermail/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/filtermail/README.md b/filtermail/README.md index b8759fd2..dff94713 100644 --- a/filtermail/README.md +++ b/filtermail/README.md @@ -110,10 +110,20 @@ As opposed to incoming/outgoing, it accepts connections from postfix over LMTP i to allow returning per-recipient status back to postfix. Received message is split per-domain and sent to recipients' MX servers over HTTP and SMTP, enforcing TLS. + As opposed to postfix, IPv4 and IPv6 connections are tried in parallel and first successful connection is used. HTTP delivery channel is preferred, and SMTP is used only if HTTP delivery fails. +Filtermail spawns a separate worker for each destination +(distinguished by [domain][RFC5322_3_4_1] part of the recipient's [addr-spec][RFC5322_3_4_1], +NOT the actual MX server). +Only messages to the same destination are guaranteed to be sent in-order +(if not deferred and sent over the same LMTP connection); +messages to different destinations are NOT synchronized. + +[RFC5322_3_4_1]: https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1 + ## Configuration ### chatmail.ini