Summary #
Right now every notification email tranquil-pds sends (welcome, password
reset, signup verification, email-update) is hardcoded plain text baked
into the binary — crates/tranquil-comms/src/locale.rs's STRINGS_*
constants — and crates/tranquil-comms/src/email/message.rs sets
Content-Type: text/plain unconditionally, with no HTML alternative part.
Running my own instance (haiku.garden, for a small poetry/music community), I'd like these emails to carry basic branding (logo, colors, a friendlier layout) instead of raw plain text. Currently that's impossible without forking and rebuilding the binary, and even then there's no way to change the wording without a fork, since the strings aren't sourced from config or an external template file.
Request #
Ideally, in rough order of usefulness-to-effort:
- Multipart HTML + plain-text emails, with a default HTML template
that at least applies basic styling (not just a
<pre>-style dump of the current plain text) — plain text stays as the fallback part for clients that want it. - Instance-level branding config — e.g. a logo URL / accent color /
instance display name in
config.toml's[email]section, injected into the default template, so self-hosters don't need to fork just to put their own name/color on it. - (Stretch) template overrides — let an instance point to its own template file(s) on disk for full control, for operators who want to go further than the built-in default.
Happy to help test against a real SMTP relay (Spacemail, in our case) if useful, and can share screenshots of what our current plain-text emails look like in the wild if that helps motivate the default template design.
assuming that it was an LLM that made the issue text, perhaps said LLM could draft one of the 3 proposals outlined as a PR? :p