Files
mesh-catalog/modules/mailu
jschoubben cff5ed46b7
mesh/delivery-group group feat/r4d checking: composed check out of date: novox/mesh-catalog@c948f3a61c74 was judged against trunk 848249cf54b6, the trunk is no…
mesh/merge-gate waits for its group's composed check
mesh/repo-check head cff5ed46b794 merged into trunk 529c156f6407 beside mesh-controller#433@707bfba4 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.s…
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: unit: modules/gitea.test: [gitea] where the poll of merges last looked from could not be read, so none is kept — no runtime | cff5e…
Check an image's Dockerfile place instead of refusing the image kind (ADR 0487 clause 13)
2026-10-22 11:44:45 +02:00
..

mailu

Mail — Mailu, with its provisioner (the smtp provision) and tools, on the tool runtime.

Settings

A definition names no mesh (novox/hq ADR 0112, ADR 0155), so the values that are this installation's are settings on the assignment, settings set mailu <file>:

{"domain": "…", "sitename": "…", "website": "https://…", "proxy-address": "…"}

domain is the mail domain (also the provisioner's, for a consumer's address); sitename and website are shown by the web front; proxy-address is what REAL_IP_FROM trusts a real-IP header from — the address the proxy forwards with. The front's own hostname is the name of its web route, told to it by the mesh.

Mail client autoconfiguration

mailu-automx answers what mail clients ask for their settings (Thunderbird, Outlook, Apple) for the domains in AMX_MAIL_DOMAINS, naming the IMAP and SMTP servers and ports of mailu's environment (AMX_IMAP_ADDRESS, AMX_IMAP_PORT, AMX_SMTP_ADDRESS, AMX_SMTP_PORT). It is cmd/automx, a Go program of the standard library only in this module's go.mod (ADR 0480 clauses 1, 2, 9). It runs in the mirrored alpine image the route proxy's trust step runs, from the program-automx archive mounted read-only at /opt/mesh; the container is restarted with the archive and with mailu.env, which the program reads at each start. It keeps no database. The file the Python automx kept in data-automx is left where it is on the machine, not deleted by the mesh (ADR 0480 clause 10). The answers it gave before are the fixtures in cmd/automx/testdata/captured, with how they were taken (CAPTURED) and what the program answers differently (DIFFERENCES).

Files it does not know

Each directory or archive this module declares says how it treats a file it did not write (ADR 0422, ADR 0416).

  • ${dir:mesh-state}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:state}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:grants}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • the archive program-automx (${dir:state}/automx): everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-certs}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-data}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-dkim}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-mail}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-mailqueue}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-filter}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-clamav}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-redis}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-webmail}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-dav}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-fetchmail}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-overrides-nginx}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-overrides-dovecot}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-overrides-postfix}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-overrides-rspamd}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).
  • ${dir:data-overrides-roundcube}: everything in it is the program's; the mesh moves nothing out (ADR 0422 §2).