← Email

Stack and structure

email · workzone
Backend
stack — libraries
Delivery
aiosmtplib SAQ
Templates
Jinja2 email · MIME
Config and crypto
Pydantic Settings AES-256-GCM · Auth
structure — files · achilles/email/
email/             module = its own package (like any module)
├── *.py           the module's regular files
├── templates/     emails: invite · reset · test · notification (RU/EN)
└── jobs.py        SAQ tasks for background sending (as in other modules)

Local development

Mailpit — a local SMTP trap server in docker-compose dev: it catches every email, shows them in a web UI, and never sends anything outbound. We use it over MailHog (long abandoned; Mailpit is its living successor, same purpose).