finds.dev← search

// the find

matcornic/hermes

★ 3,009 · Go · Apache-2.0 · updated Apr 2025

Golang package that generates clean, responsive HTML e-mails for sending transactional mail

Hermes generates HTML transactional emails from Go structs — welcome emails, password resets, receipts. It's a port of Node's mailgen, produces both HTML and plaintext, and handles CSS inlining automatically. For Go shops that need a quick way to produce consistent transactional email without hand-writing HTML templates, this is the path of least resistance.

Automatic CSS inlining via go-premailer means you don't have to worry about Gmail stripping your styles. The data model (Intros, Actions, Table, Dictionary, FreeMarkdown) covers 90% of transactional email shapes without forcing you to touch HTML. Templates are embedded in the binary so there's no file deployment headache. Plain text generation is first-class, not an afterthought.

Only two themes bundled (default and flat, both derived from the same Postmark base), so if your brand needs anything beyond a blue-header SaaS look, you're writing a custom Theme implementation from scratch. The v1/v2 module path saga documented in the README is a sign of past maintenance confusion, and the project has had stretches of low activity. FreeMarkdown mode is all-or-nothing — it displaces tables, dictionaries, and action buttons, which limits its usefulness for mixed layouts. No built-in support for email client testing or preview beyond writing files locally.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →