Commit Graph
21 Commits
Author SHA1 Message Date
holger krekel fa5afadaaa feat!: introduce configurable system limits to reject new address creation and limit imap/smtp connections.
The default values are geared towards minimal-requirements server.
If you have a big server, you will need to set chatmail.ini parameters.
2026-07-28 19:08:19 +02:00
4ebde2825d feat: support setup without domain, with only an IPv4 address (#963)
* dovecot: enable login names with square brackets

* config: make IPv4-only relays use self-signed TLS certs

* postfix: make delivery for IP-only relays work

* cmdeploy: skip DNS checks for IPv4 only relays

* www: generate dclogin codes for IPv4-only relays

* opendkim: disable DKIM signing on ipv4-only relays

* get delivery working

* get tests working on IPv4 only machine

* doc: document IPv4-only relays

* dns: warn if mail_domain is an IP, instead of checking DNS

* config: validate domains when formatting them

* ci: add cmlxc testing for no-DNS relays

* ci: run no-dns and normal CI in parallel

* retain "config.mail_domain" as the domain part of @ email addresses, so for ipv4 relays  "[1.2.3.4]" and introduce config.ipv4_relay and config.mail_domain_bare helpers.

* ci: migrate from --no-dns to --type ipv4 for cmlxc compatibility

* cleanup dead code, fix docs, fixate cmlxc version

---------

Co-authored-by: missytake <missytake@systemli.org>
2026-05-11 21:52:33 +02:00
holger krekelandGitHub 194030a456 enforce encryption for in-server mails (#535)
* enforce encryption for in-server mails

* make tests work with chatmail server only support e2ee internally

* fix echobot test

* simplify quota-exceeded test

* work around rpc-server fixture changes
2025-03-29 21:22:26 +01:00
link2xt 2daac76574 Replace subject with [...] for outgoing mail
`authclean` cleanup server is used by
reinjecting smtpd running on localhost:10025 by default.
It runs after filtermail
and currently removes `Received` header
to avoid leaking IP address.
Can as well be used to replace `Subject` lines
with `Subject: [...]`.
If there are multiple `Subject` lines,
all of them should be replaced.

This allows us to avoid dealing with
localized subjects, including SecureJoin
messages `vc-request` and `vg-request`
which can have Subject lines like
Subject: =?utf-8?q?Nachricht_von_nrn178fi4=40nine=2Etestrun=2Eorg?=
2025-02-16 22:35:51 +00:00
link2xt a1e80fdca1 Fix ruff warnings 2024-08-23 11:57:47 +00:00
holger krekel ac1f2dadad introduce max_message_size config option 2024-07-28 19:51:05 +02:00
holger krekel b32a57105d remove "passdb_path" as default option 2024-07-28 18:17:10 +02:00
holger krekel 765f081f6f refactor password/login-timestamp handling into a User object 2024-07-28 11:12:00 +02:00
holger krekel eddfadaf7f move passwords to file in user maildir 2024-07-28 11:12:00 +02:00
holger krekel 79a9d2345b more tests and refinements 2024-07-16 10:34:08 +02:00
holger krekel c4f46dc499 fix maildata handling after prematurely merging #369 2024-07-13 19:20:06 +02:00
Daniel Kahn Gillmorandholger krekel c1fd573de2 Add tests for alternate mail subjects 2024-07-13 18:33:42 +02:00
holger krekel a7ef6ee35b don't use kwargs for overrides parameter 2024-07-10 19:20:51 +02:00
holger krekel fc09653de3 remove all occurences of hardcoded /home/vmail for database and mailbox dirs 2024-07-10 19:20:51 +02:00
holger krekel c8661fd135 introduce "mailboxes_dir" config ini option to avoid hardcoding /home/vmail/mail/....
in source code and to improve testability.
2024-07-10 19:20:51 +02:00
holger krekel 823386d824 delete inactive users works 2024-07-09 19:12:55 +02:00
link2xt 1ce0a2b0ba Improve filtermail checks for encrypted messages
Ensure that first part only contains "Version: 1"
and second part only contains base64 payload
enclosed in "-----BEGIN PGP MESSAGE-----"
and "-----END PGP MESSAGE-----".
2024-06-11 16:18:39 +00:00
link2xt 879cffc056 Configure more lints and switch from black to ruff format 2024-05-06 14:41:00 +00:00
missytakeandlink2xt 926de76010 tests: make maildata work with python3.9 2024-02-17 09:27:02 +00:00
holger krekel 02918de6c1 rename mailname to mail_domain everywhere 2023-12-11 17:07:07 +01:00
holger krekel a5e4562505 move tests/chatmaild to chatmaild package, streamline tests and fixtures accordingly 2023-12-11 15:52:12 +01:00