Commit Graph
7 Commits
Author SHA1 Message Date
Sylvain ZimmerandGitHub 1f4047a061 (celery) add Celery worker, search, recipient statuses, better build (#88)
Before, sending was done synchronously on the api/send POST call. Now
we just build the MIME message and mark the message for sending, and
queue the actual SMTP (or internal) sending for the worker. We use
this opportunity to add fine-grained delivery statuses for each
recipient, something that traditional email systems are unable to do!

Expanding on that, this (too large) PR adds an initial Elasticsearch
index of threads. It also overhauls the build and CI system, using
Poetry instead of Pip.
2025-05-13 00:52:48 +02:00
Sylvain Zimmer d789bb48ca (e2e) make end-to-end emailing work!
You can now send emails to the inbound MTA, which will forward them
to the Django MDA. You can then read them (served through REST) from
the frontend and compose a reply! The frontend will POST the message
to Django, which will build an RFC5322 message and send it to the
outbound MTA, which will relay it to the local mailcatcher where you
can view your reply. Phew!

Initial documentation in the README but this is the core loop that
will be expanded upon, with diagrams and videos!
2025-04-22 18:47:35 +02:00
Sylvain Zimmer 024fb70894 🔨(env) move env vars around 2025-04-17 15:14:43 +02:00
Sylvain Zimmer 5f322ef65e 🐛(mta) accept any domain configured in the mda 2025-04-17 13:11:48 +02:00
Sylvain Zimmer e04db3b376 (backend) add a TESTDOMAIN automatically setup with user mapping 2025-04-17 12:34:22 +02:00
Sylvain Zimmer 287169118b (mta) harmonize MTA and Django routes and tests
First emails can now be sent from port 25 of mta-in through Django.
2025-04-16 01:20:08 +02:00
Sylvain Zimmer 53db5a748d 🎉(all) bootstrap the Messages project
We used the Drive repository as starting point. There are still
some leftovers that will be cleaned up over time.
2025-04-13 18:48:04 +02:00