dependabot[bot]
089d9e2372
chore(deps): Bump tokio from 1.52.1 to 1.52.3 ( #172 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.52.1 to 1.52.3.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.52.1...tokio-1.52.3 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.52.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:29 +02:00
Andrey 0xdc09
0c0e84f649
fix(resolver): disable negative caching ( #170 )
2026-08-18 12:21:29 +02:00
j4n
bb835594cc
chore: add filtermail.mtail so filtermail failures can be monitored ( #169 )
...
Example Prometheus queries:
Outbound errors by reason:
sum by (reason) (rate(filtermail_transport_error_total[5m]))
filtermail-incoming drops by reason:
sum by (reason) (rate(filtermail_inbound_drop_total[5m]))
2026-08-18 12:21:29 +02:00
Jagoda Estera Ślązak
b75717c205
fix(smtp-server): Correct error when EOF while reading DATA ( #168 )
...
Log
`Unexpected EoF while receiving DATA!`
instead of
`Malformed DATA line without CRLF ending!`
Fixes : #165
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:29 +02:00
dependabot[bot]
b1b58a6612
chore(deps): Bump taiki-e/install-action from 2.75.28 to 2.79.6 ( #164 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.75.28 to 2.79.6.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/51cd0b8c0499559d9a4d75c0f5c67bec3a894ec8...f48d2f8ba2b452934c948b7be1a768079c3632ff )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.79.6
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:29 +02:00
l
d12e1d53f7
fix: switch ratelimiter to MonotonicClock ( #167 )
...
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 >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
bd995918ba
chore(release): prepare for 0.7.0 ( #163 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
a1d54dca93
docs(readme): Remove docs for options removed in 664ad57 ( #162 )
2026-08-18 12:21:28 +02:00
link2xt
4d6f6af20b
fix: do not crash if accepting new connection fails
...
If we run out of file descriptors, we cannot do anything
to accept queued connections, so at least don't crash the process.
Fixes <https://github.com/chatmail/filtermail/issues/139 >.
2026-08-18 12:21:28 +02:00
holger krekel
7d7bccd44b
feat!: remove passthrough options that allowed unencrypted mail to pass
...
see https://github.com/chatmail/relay/pull/970/ for the related removal of chatmail.ini options
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
7c9d4422a5
chore(release): prepare for 0.6.6 ( #156 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
holger krekel
9896541fbb
ci: run cmlxc tests in all classic/classic-ipv4/madmail combinations
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
54ecc59345
feat: Improved SMTP error responses ( #147 )
...
Fixes : #140
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
24922fbada
ci: Remove mac and windows from matrix tests ( #154 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
holger krekel
02e68ac146
fix: return HTTP 200 because madmail expects it, and make sure https is immediately retried when SMTP fails ( #153 )
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
b0c452afe5
chore(release): prepare for 0.6.5 ( #152 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
0b34522b22
chore(deps): Bump taiki-e/install-action from 2.75.22 to 2.75.28 ( #148 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.75.22 to 2.75.28.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/cf525cb33f51aca27cd6fa02034117ab963ff9f1...51cd0b8c0499559d9a4d75c0f5c67bec3a894ec8 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.75.28
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
l
49b65b676a
fix: Validate mail data ( #150 )
...
Do not allow bare CR and LF etc.
2026-08-18 12:21:28 +02:00
holger krekel
0473f5a588
fix: advertise 8BITMIME to prevent conversion after DKIM signing ( #149 )
...
for bounces postfix sets Content-Transfer-Encoding: 8bit
which causes a quoted-printable conversion when filtermail SMTP does not offer 8BITMIME,
which in turn breaks DKIM verification.
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
d07a51522d
perf(smtp-client): Use pipelining if server advertises support ( #146 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
0c917d4d87
fix(smtp-client): Handle 421 on reused connection ( #145 )
...
If a reused connection was closed
in the meantime, open a new connection,
instead of failing immediately.
Fixes #143
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
2e80eb651f
chore(deps): Upgrade hickory-resolver ( #138 )
2026-08-18 12:21:28 +02:00
dependabot[bot]
8742ead65e
chore(deps): Bump webpki-roots from 1.0.6 to 1.0.7 ( #136 )
...
Bumps [webpki-roots](https://github.com/rustls/webpki-roots ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/rustls/webpki-roots/releases )
- [Commits](https://github.com/rustls/webpki-roots/compare/v/1.0.6...v/1.0.7 )
---
updated-dependencies:
- dependency-name: webpki-roots
dependency-version: 1.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
24ecb41dee
chore(deps): Bump tokio from 1.51.1 to 1.52.1 ( #135 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.51.1 to 1.52.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.52.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
ababa88a2d
chore(deps): Bump lru from 0.16.3 to 0.17.0 ( #133 )
...
Bumps [lru](https://github.com/jeromefroe/lru-rs ) from 0.16.3 to 0.17.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.16.3...0.17.0 )
---
updated-dependencies:
- dependency-name: lru
dependency-version: 0.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
5312341404
chore(deps): Bump taiki-e/install-action from 2.75.17 to 2.75.22 ( #132 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.75.17 to 2.75.22.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/58e862542551f667fa44c8a2a4a1d64ad477c96a...cf525cb33f51aca27cd6fa02034117ab963ff9f1 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.75.22
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
holger krekel
3ee0bfd35b
ci: build and deploy relays with filtermail binary and run interop tests against madmail ( #131 )
...
* ci: Run relay integration tests using cmlxc
Builds filtermail and runs cmlxc
tests against a patched chatmail/relay.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
* ci: run integration tests with branch filtermail binary deployed with chatmail/relay main code
---------
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
Co-authored-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
a30c8b3995
chore(release): prepare for 0.6.4 ( #130 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
2ddd5d0cc7
feat: https transport channel ( #122 )
...
Transport mode:
Implements an additional mail delivery
channel over HTTPS.
Incoming mode:
Adds a http server listening for
incoming messages delivered over HTTPS.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Ślązak
3c32af1c47
refactor(transport): Explicitly handle RFC7505 null MX
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Ślązak
4131fd0823
fix: Implement missing "implicit MX" rule
...
Implements "implicit MX" as described by
https://datatracker.ietf.org/doc/html/rfc5321#section-5.1
Fixes : #126
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
6121d46234
chore(deps): Bump taiki-e/install-action from 2.75.5 to 2.75.17 ( #125 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.75.5 to 2.75.17.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/7a4939c09608b2a1986b484eca1d16fd0db8ebef...58e862542551f667fa44c8a2a4a1d64ad477c96a )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.75.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
99efe7a371
chore(deps): Bump bnjbvr/cargo-machete from 0.9.1 to 0.9.2 ( #124 )
...
Bumps [bnjbvr/cargo-machete](https://github.com/bnjbvr/cargo-machete ) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/bnjbvr/cargo-machete/releases )
- [Changelog](https://github.com/bnjbvr/cargo-machete/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bnjbvr/cargo-machete/compare/7959c845782fed02ee69303126d4a12d64f1db18...ac30a525c0a8d163a92d727b3ff079ee3f6ecb08 )
---
updated-dependencies:
- dependency-name: bnjbvr/cargo-machete
dependency-version: 0.9.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
e29ffd1179
chore(release): prepare for 0.6.3 ( #121 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
82a2a8e39f
feat(smtp-server): Log malformed SMTP commands ( #118 )
...
Closes #110
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
080cd0118d
chore(deps): Bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #119 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
82cdf49e62
chore(deps): Bump taiki-e/install-action from 2.71.2 to 2.75.5 ( #120 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.71.2 to 2.75.5.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/d858f8113943481093e02986a7586a4819a3bfd6...7a4939c09608b2a1986b484eca1d16fd0db8ebef )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.75.5
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
25c8987904
perf(smtp-client): Cache connections ( #117 )
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
0755bb931f
chore(release): prepare for 0.6.2 ( #116 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
21b4c0d1a8
feat(transport): Remote delivery over SMTP ( #104 )
...
Implements a new mode "transport",
that allows filtermail to be used for
remote delivery.
In transport mode, filtermail listens for LMTP
connections, splits messages by domain
and performs delivery to remote MTAs over SMTP.
SMTP client tries to open socket on all resolved
addresses in parallel and uses one that succeeds
the first, fixing the issue described in:
chatmail/relay#900
Extends the built-in SMTP client
with STARTTLS support.
Extends the built-in SMTP server
with LMTP greeting support.
Groundwork required for mxdeliv endpoint
(HTTP channel for MTA-to-MTA communication):
chatmail/relay#900
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
1518537ae4
feat: Log disabled recipients ( #113 )
...
Logs disabled recipient addresses
when removing them from RCPT TO.
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
07dd9c88c6
docs(readme): Reformat README.md ( #115 )
...
Fixes : #91
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
dc6b4f4b75
chore(dependabot): Update configuration ( #114 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
b689fd2f75
chore(deps): Bump tokio from 1.50.0 to 1.51.0 ( #111 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.50.0 to 1.51.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.50.0...tokio-1.51.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
4fc1ddbeae
chore(deps): Bump taiki-e/install-action from 2.69.13 to 2.71.2 ( #112 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.69.13 to 2.71.2.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/704f92c11daa75bff5b4e01fcb083350c16c47b9...d858f8113943481093e02986a7586a4819a3bfd6 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.71.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
8f6f5a9f81
chore(release): prepare for 0.6.1 ( #109 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
Jagoda Estera Ślązak
7f1521d7cd
feat: Add experimental option to disable mailboxes ( #108 )
...
Signed-off-by: Jagoda Ślązak <jslazak@jslazak.com >
2026-08-18 12:21:28 +02:00
dependabot[bot]
8927fc5c58
chore(deps): Bump taiki-e/install-action from 2.69.4 to 2.69.13 ( #107 )
...
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action ) from 2.69.4 to 2.69.13.
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/install-action/compare/a7e592b24782184db1613493a5e65d2e12199f80...704f92c11daa75bff5b4e01fcb083350c16c47b9 )
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.69.13
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
7f83b82f14
chore(deps): Bump env_logger from 0.11.9 to 0.11.10 ( #106 )
...
Bumps [env_logger](https://github.com/rust-cli/env_logger ) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.9...v0.11.10 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-version: 0.11.10
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00
dependabot[bot]
26128aca27
chore(deps): Bump dtolnay/rust-toolchain ( #105 )
...
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain ) from efa25f7f19611383d5b0ccf2d1c8914531636bf9 to 3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases )
- [Commits](https://github.com/dtolnay/rust-toolchain/compare/efa25f7f19611383d5b0ccf2d1c8914531636bf9...3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 )
---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
dependency-version: 3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:21:28 +02:00