A Go package for generating clean, responsive HTML and plain-text transactional emails with built-in themes.
Hermes is a Go package that generates clean, responsive HTML emails and plain-text fallbacks for transactional email use cases like welcome messages, password resets, and receipts. It provides a structured API to define email content and applies built-in themes to ensure consistent, professional-looking emails without manual HTML/CSS work.
Go developers building applications that need to send transactional emails, such as SaaS platforms, e-commerce systems, or authentication services.
Developers choose Hermes because it offers a simple, declarative Go API for email generation with professionally designed, responsive themes out of the box, eliminating the need to hand-code HTML emails or manage separate plain-text versions.
Golang package that generates clean, responsive HTML e-mails for sending transactional mail
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates mobile-friendly HTML with automatic CSS inlining, ensuring broad compatibility across email clients, as shown in the built-in themes from Postmark templates.
Creates accessible plain-text versions for every email, essential for clients that don't support HTML, demonstrated in the example outputs with structured text.
Provides a simple, structured way to define email content using Go types like Email and Body, reducing manual HTML coding for transactional emails.
Includes open-source themes (Default and Flat) with options for RTL support, customizable greetings, signatures, and Markdown sections, as detailed in the README.
Only offers two built-in themes, which may not meet diverse branding requirements without implementing custom themes via the hermes.Theme interface.
Hermes focuses solely on email generation; sending requires integrating with external SMTP services, as noted in the optional environment variables for testing.
The README acknowledges confusion from migrating between v1 and v2, indicating potential stability or documentation hurdles for users.