Commit Graph
290 Commits
Author SHA1 Message Date
holger krekel 93421b317b always use "H" for printing numbers, and make "chatmail.ini" file optional, defaulting to where it is on chatmail relays 2025-10-21 18:43:37 +02:00
holger krekel 777be107f3 fix another invocation 2025-10-21 18:43:37 +02:00
holger krekel 8b81d5b5d6 unify chatmail-fsreport and chatmail-expire to both just require a chatmail.ini file 2025-10-21 18:43:37 +02:00
holger krekel e6a2906e82 cosmetic: refine summary and fix typo 2025-10-21 18:43:37 +02:00
holger krekel 67ba4ac99e address four review comments from link2xt 2025-10-21 18:43:37 +02:00
holger krekel 8cadf51387 prefix new commands 2025-10-21 18:43:37 +02:00
holger krekel ce4bb97294 remove superflous totalsize attribute 2025-10-21 18:43:37 +02:00
holger krekel 3a0c629f3b during fsreport (reporting) don't store all mailbxoes but categorize them immediately, provide a few command line options to select 2025-10-21 18:43:37 +02:00
holger krekel 8df53c2655 fix lint issues 2025-10-21 18:43:37 +02:00
holger krekel 3fd3ab1a68 some renaming 2025-10-21 18:43:37 +02:00
holger krekel d74f792787 remove superflous Stats class 2025-10-21 18:43:37 +02:00
holger krekel 1135372b81 further reduce code 2025-10-21 18:43:37 +02:00
holger krekel c9f80bffd8 no reporting by default, and adding a summary line 2025-10-21 18:43:37 +02:00
holger krekel 10e53d17e8 don't globally collect files anymore to avoid using growing-with-number-of-mailboxes ram 2025-10-21 18:43:37 +02:00
holger krekel 01ca2a8b91 more streamline 2025-10-21 18:43:37 +02:00
holger krekel fb01944f0d strike superflous code 2025-10-21 18:43:37 +02:00
holger krekel a90a651ba0 fix comment 2025-10-21 18:43:37 +02:00
holger krekel 7d74b46502 add argument parsing for reporting 2025-10-21 18:43:37 +02:00
holger krekel 6d3e690653 add basic command line parsing for expire + some streamlining 2025-10-21 18:43:37 +02:00
holger krekel ed7a70ba31 refactor and write tests for overall expiry/report runs 2025-10-21 18:43:37 +02:00
holger krekel 023116bc91 add summary reporting, rework expiry logic 2025-10-21 18:43:37 +02:00
holger krekel b13929119b do all expunging in python 2025-10-21 18:43:37 +02:00
holger krekel a4152140ca move delete_inactive_users to new implementation 2025-10-21 18:43:37 +02:00
missytake 4cfe228a1f filtermail: further optimize check_armored_payload() 2025-10-21 00:57:27 +02:00
holger krekelandGitHub 741a20450c Add a system test for running the filtermail module 2025-10-20 19:02:14 +00:00
adbandGitHub b7fadcd4be filtermail: improve check_armored_payload() (#679) 2025-10-20 09:55:53 +02:00
link2xt 2b90f7db37 filtermail: run CPU-intensive handle_DATA in a thread pool executor
See
<https://docs.python.org/3/library/asyncio-eventloop.html#executing-code-in-thread-or-process-pools>
for the documentation.

This should avoid processing of large messages from hogging asyncio
thread and delaying async operations like accepting new connections.
2025-10-19 10:43:11 +00:00
holger krekelandl e37dd5153a remove logging and just print to sys.stderr 2025-10-18 19:50:13 +00:00
missytakeandGitHub 6f600fa329 config: add www_folder to default config (#634) 2025-10-14 21:17:08 +02:00
missytakeandGitHub 262e98f0ba filtermail: allow Version comment in incoming PGP messages (#655)
fix #616

* filtermail: accept any Version comment in incoming messages
2025-10-14 19:15:13 +02:00
link2xt d7f50183ea feat: setup TURN server 2025-10-10 18:32:32 +00:00
Keonik1andmissytake 65c0bf13f2 cmdeploy: add acme_email config value 2025-10-08 13:06:48 +02:00
link2xt d091b865c7 fix: ignore all RCPT TO: parameters
Stalwart sends `NOTIFY=DELAY,FAILURE`
to request Delivery Status Notifications.
aiosmtpd does not support any parameters,
not just ORCPT, so we have to ignore all of them.
2025-10-05 02:36:40 +00:00
cliffmccarthyandl 9b6dfa9cdc Use max username length in newemail.py, not min
- username_min_length and username_max_length are both set to a
  default value of 9 in the chatmail.ini.f template.  When they have
  the same value, it doesn't matter which one we use in newemail.py
  (which handles the /new URL).  However, if they are configured to
  different values by the admin, then the current implementation using
  username_min_length chooses from a smaller set of possible
  usernames.
- Revised create_newemail_dict() in newemail.py to use
  username_max_length as the length of the random username it offers
  via the /new URL.  This randomizes within a much larger set of
  possible usernames.
2025-10-03 19:48:32 +00:00
missytake d6fb38750a www: make www_folder behavior testable 2025-09-11 19:51:32 +02:00
missytake 3b73457de3 www: introduce www_folder config item
fix #529
2025-09-11 19:51:32 +02:00
missytake 1f5b2e947c CI: ignore PLC0415 in ruff (imports outside top level) 2025-06-29 19:49:17 +02:00
holger krekel 8a59d94105 Update notifier.py docs
Update to current status and naming
2025-06-27 11:08:31 +02:00
link2xt 96a1dbac08 Expire push notification tokens after 90 days 2025-06-10 22:27:21 +00:00
missytake 0c28310861 make cmdeploy fmt happy 2025-05-24 08:47:49 +02:00
missytake 0125dda6d7 echo: add echo@ to passthrough_senders in default config 2025-05-24 08:47:49 +02:00
missytake fe38fcbeba filtermail: add echo to passthrough_recipients by default 2025-05-24 08:47:49 +02:00
missytake b4af6df55c chatmaild: allow echobot to receive unencrypted messages by default 2025-05-24 08:47:49 +02:00
missytakeandholger krekel 15244f6462 lint: make ruff happy 2025-05-17 19:31:33 +02:00
missytakeandholger krekel b925f3b5ab filtermail: respect message size limit in the config 2025-05-17 19:31:33 +02:00
adbenitezandholger krekel 09ff56e5b9 add test 2025-05-05 12:59:09 +02:00
adbenitezandholger krekel b35e84e479 avoid crash on spurious empty file in the pending_notifications dir 2025-05-05 12:59:09 +02:00
link2xt 0638bea363 filtermail: allow partial body length in OpenPGP payloads 2025-05-05 07:03:09 +00:00
missytake a78c903521 cmdeploy: config value for deleting large messages after X days 2025-04-16 14:14:44 +02:00
holger krekel fc3fb93432 use default config files for any missing ini setting 2025-04-02 08:48:45 +02:00