Files
mesh-catalog/modules/mailu
jschoubben f509c61b50 VERSION (A-46, §368, §411): every manifest of the catalog says its version MAJOR.MINOR
mesh-delivery-builder.builder_versions answered no numbered version for any name asked (mesh-sdk go and ts, mesh-host, node-tools, mesh-delivery-builder, mesh-conditions), so every module takes 0.1, the floor §368 gives a module with none published: all 144 manifests (141 from "1", distribution, mesh-provisioner and mesh-provisioner-client from "2", which carries nothing over, §583).

Builds: design 47 G §368, §411, §583, A-46

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 22:38:45 +01: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).