Commit Graph

31 Commits

Author SHA1 Message Date
Wez Furlong d5b13a263b Add kumo.configure_bounce_classifier
and connect it to the logger
2023-03-02 08:59:03 -07:00
Wez Furlong 3d521a6468 fix reporting of bounce totals
A significant portion are bounced as they move through the queues,
not just those swept up in the direct application of the API call.

Pass in a shared hash map to track the counts and report on that
at the end of the call instead.
2023-03-01 19:57:47 -07:00
Wez Furlong f48e6b1416 Add API for administratively bouncing mail 2023-03-01 16:40:26 -07:00
Wez Furlong cd7ba3a2bb make smtp client timeouts configurable by command 2023-03-01 12:19:45 -07:00
Wez Furlong 2b0ba702cb add scheduling constraints
This is implemented by allowing the Message:set_due method to
load the message metadata to consult the scheduling constraints,
which should mean that all scheduling updates have the constraints
applied to them.
2023-03-01 09:43:48 -07:00
Wez Furlong 557fff650d implement max_deliveries_per_connection 2023-02-28 15:12:15 -07:00
Wez Furlong a691d7afcc docs: note about the unspecified pool as the default 2023-02-28 13:58:50 -07:00
Wez Furlong c275c696ff implement message and connection rate throttles
These use the local/in-process throttles.
Seems to work in my very light testing so far.
2023-02-28 13:56:58 -07:00
Wez Furlong 50eabe6f98 docs: update get_egress_path_config parameters 2023-02-28 11:47:54 -07:00
Wez Furlong f912fab58b docs: egress source, egress path etc. 2023-02-28 10:31:00 -07:00
Wez Furlong 9ab1727792 rename: dest_site -> egress path 2023-02-28 09:56:20 -07:00
Wez Furlong 93ff9e1991 adjust dest_site to queue based on source->site
There needs to be another pass over this for naming,
but this brings us closer to the state shown in the
diagram in the readme.
2023-02-28 06:29:26 -07:00
Wez Furlong a6a4bdd37c allow specifying remote smtp port in site config 2023-02-26 22:46:45 -07:00
Wez Furlong 9338de3d06 delay ready queue when target site is persistently unavailable
Tidy up the logging around this; move some error logs to debug level,
especially since we log message events to the log file for that purpose;
there is no need to log errors to the console for this.
2023-02-26 22:26:03 -07:00
Wez Furlong 0eefb02bed make destination site queues per-tenant
To facilitate this, formatlize the `campaign:tenant@domain` naming
and add a helper type to parse and format that tuple of information
to make it easier to work with in the code.

Adjust the get_x_config events to accept those parameters.
2023-02-26 19:59:56 -07:00
Wez Furlong 6dfb44012e add some header manipulation functions 2023-02-26 15:01:05 -07:00
Wez Furlong 73f1c179f0 rename http_message_injected -> generated
that better reflects when it is being called
2023-02-26 10:35:07 -07:00
Wez Furlong 1935f21953 add http_message_injected event for signing http injected mail 2023-02-26 10:23:49 -07:00
Wez Furlong fcb665f841 docs: note that the message has a Received header 2023-02-26 09:43:48 -07:00
Wez Furlong b8c319e2b3 use the builder's from/to/reply-to header formatting 2023-02-26 09:40:43 -07:00
Wez Furlong 371813b2dc another json typo fix 2023-02-26 08:54:04 -07:00
Wez Furlong 43ee52d22c http injector: add shortcuts for some headers, make headers more convenient 2023-02-26 08:46:28 -07:00
Wez Furlong 089d213665 docs: flesh out dkim signer docs 2023-02-26 07:18:07 -07:00
Wez Furlong 1035c34ae2 typofix 2023-02-26 06:58:43 -07:00
Wez Furlong 93da8983ba docs: fix some typos 2023-02-25 22:47:50 -07:00
Wez Furlong 6645763606 docs: document HTTP APIs 2023-02-25 22:42:08 -07:00
Wez Furlong 51d9928ead docs: add more reference content 2023-02-25 20:41:50 -07:00
Wez Furlong b869d10e17 docs: add define_spool 2023-02-25 16:14:12 -07:00
Wez Furlong 82dc9c7821 docs: add configure_local_logs, start_esmtp_listener 2023-02-25 15:55:14 -07:00
Wez Furlong bfe1d5f94b docs: add some basic reference info
The content here needs to be fleshed out some more, but this commit
is intended to get the skeleton in place.
2023-02-25 14:59:20 -07:00
Wez Furlong 831bfe9aab docs: skeleton for building the docs
Rather than edit SUMMARY.md, you edit docs/generate-toc.py
and it will flesh out sections based on the list of files
in a directory.
2023-02-25 10:50:58 -07:00