Preview 1 of 4
HTML email templates for subscription software: 12 trial, team and billing emails, light and dark (HTML, MJML, plain text, FR and EN)
12 emails for subscription software: trial, team invitation, invoice, cancellation. In MJML, HTML and plain text, English and French, light and dark.
Overview
Description
These templates are for product teams, developers and freelancers who build software sold by subscription and need to write the emails that go with the life of an account: the start and end of a trial, inviting a colleague, the weekly summary, a plan change, the invoice, the cancellation. They save you from starting from scratch in a format where usual web code falls short: table layout, inline CSS, a fallback when the mail client strips styles. Every template comes in English and French, as MJML source, as ready-to-send HTML and as plain text, with a light theme and a dark theme in the same file.
This pack complements the responsive HTML email templates, which cover the account and the online shop: welcome, email verification, password reset, sign-in code, order receipt, download ready, abandoned cart, failed payment, notification and newsletter. The two packs share no template. They are built the same way, with the same MJML construction, the same palette and the same fictional brand: subscription software can take sign-up and account security from the first one, then the trial, the team and recurring billing from this one, with no visual break between emails.
Specifications
| Templates | 12, including 9 transactional |
|---|---|
| Languages | 2 |
| Themes | 2 |
| Source files | 24 MJML, 6 shared partials, 24 HTML, 24 plain text |
| PNG screenshots | 48 |
| Formats | HTML, MJML, plain text, PNG |
| License | commercial (page in French) |
| Version | 1.0.0 of November 11, 2026 |
Contents
- 12 templates, including 9 transactional emails and follow-up emails that carry an unsubscribe link:
- Trial started (
trial-started); - Trial ending soon (
trial-ending); - Trial ended (
trial-ended); - Incomplete activation (
activation-nudge), follow-up email; - Team invitation (
team-invite); - Invitation accepted (
invite-accepted); - Weekly usage report (
weekly-usage), follow-up email; - Plan changed (
plan-changed); - Upcoming renewal (
renewal-upcoming); - Subscription invoice (
subscription-invoice); - Cancellation confirmed (
cancellation-confirmed); - Win-back after cancellation (
winback), follow-up email.
- Trial started (
- 2 languages, English and French, for every template.
- 2 themes, light and dark, combined in each HTML file.
- 24 MJML sources and 6 shared partials: common settings, header, service and follow-up footers in English and French.
- 24 compiled HTML files, base CSS inlined.
- 24 plain text versions, to attach to each send.
- 24 HTML previews filled with sample data, and a page that gathers them.
- 48 PNG captures of the templates, at 320 and 600 px wide, light and dark.
variables.md, the list of every variable, template by template, with an English and a French example, andcompatibilite.md, what was measured and what was not.
No template contains an image: the header shows the brand name as text.
Archive layout:
mjml/fr/<template>.mjml
mjml/en/<template>.mjml
mjml/partials/<partial>.mjml
html/fr/<template>.html
html/en/<template>.html
text/fr/<template>.txt
text/en/<template>.txt
preview/index.html
preview/fr/<template>.html
preview/en/<template>.html
captures/<template>-<320|600>-<light|dark>.png
variables.md
compatibilite.md
The zip also holds the licence text, a README file and the credits.
How to use them
- From the MJML, to change the layout: every source includes the partials in
mjml/partials/, so a change to the header or footer applies to every template. Then compile with MJML, installed separately (the kit was compiled with version 5.4.1). - From the compiled HTML, without MJML: the files in
html/can be sent as they are once the variables are replaced. Paste them into your email tool or wire them into your code. - Variables: variable text is written
{{variable_name}}, a format read as is by double-brace template engines.variables.mddescribes each one. The duration and price variables (trial_days,days_left,old_price,new_price) carry their unit, so singular and plural stay right. The invoice rows and the weekly report rows are given as samples: duplicate the row or use your engine’s loop. - Brand: the name shown comes from
{{brand_name}}; the previews use a fictional brand. - Plain text: send the file from
text/as the text part of the same message. It repeats the headings, the button links and the same variables as the HTML. - Dark theme: nothing to switch on. The HTML turns dark when the mail client reads the
prefers-color-schemepreference and the reader has chosen dark mode. - Previews: open
preview/index.htmlin a browser to see the 12 filled templates.
What was checked, and how
The measurements are detailed in compatibilite.md. They were made in two browser engines, Chromium and WebKit, not in mail clients.
- Responsive: renders at 320, 600 and 1,024 px, light and dark, with no overflow, in one column of 600 px at most; buttons are at least 44 px tall.
- Fallback with no style: once every
<style>block is removed, as some mail clients do, the 24 HTML files stay readable, with no overflow at 600 or 320 px. At 320 px, no word is broken, apart from web addresses. - Contrast: every text, light, dark and fallback, reaches at least 5.69:1.
- Spacing: margins, paddings, font sizes and line heights follow a single grid, checked at 600 and 320 px.
- Weight: every HTML file stays under the 102 KB threshold above which some mail clients clip the message.
- Validity: HTML validated; MJML sources in strict validation, recompiled and compared byte for byte with the delivered HTML.
- Accessibility: axe audit on the 24 previews, light and dark, with no serious or critical violation. Layout tables carry
role="presentation"; data tables, such as the invoice’s, have headers and a caption.
Outlook for Windows, dark mode and other mail clients
The real render in each mail client was not captured: no multi-client screenshot service was used. Compatibility rests on construction rules and on the public caniemail database, from which compatibilite.md records 58 entries, with the fallback planned for each poorly supported property.
- Outlook for Windows: its rendering engine was not tested; only its known construction rules are applied. The templates give it fixed-width tables in conditional comments written by MJML, and double backgrounds and widths with HTML attributes.
- Mail clients that show the dark theme, according to the database and not to captures: Apple Mail (macOS, iOS), Outlook (macOS, Outlook.com, iOS, Android) and Samsung Email (Android). The Outlook versions in this list may also adjust colours themselves.
- Mail clients that do not: Gmail (web, iOS, Android), Outlook (Windows, Windows Mail), Yahoo! Mail (web, iOS, Android) and Thunderbird (macOS). They show the light version, or apply their own colour inversion, which was not measured.
- Without media queries: the email shows in light mode, in one fluid column, readable at any width.
- Amounts on one line: some mail clients ignore the rule that keeps amounts on a single line; on a narrow screen they may then wrap, with nothing hidden.
Follow-up emails
The incomplete activation, the weekly usage report and the win-back email are follow-up emails, closer to marketing than to a service message. They generally require the recipient’s prior consent, or an existing customer relationship depending on the case, and a way to unsubscribe in every email. Their footer provides an unsubscribe link ({{unsubscribe_url}}) and the sender’s identity, but it does not replace unsubscribe handling in your email tool, nor the one-click unsubscribe header that major mailbox providers expect for bulk sending. Adjust the sentence that explains why the recipient gets the email. These templates do not by themselves make your sending compliant.
Good to know
- Test your sends with your email tool before a campaign: no capture was made in a mail client.
- Deliverability (spam filters, sender authentication) depends on your email tool and your domain, not on the templates.
- The sentences that describe how things work (keeping projects, the end of a trial, charging, cancellation) are neutral examples: adapt them to your product.
- The subscription invoice contains no legal notice: the “Tax” label, the calculation and the notices your invoices must carry depend on your situation and are up to you.
- Only the team invitation has a plain link under its button, because its link carries a token; the other buttons lead to account pages that can also be reached from the app.
compatibilite.mdis written in French first; its English part follows it.- Neither MJML nor an email tool is included, and the kit has no mockup file for a design tool.
Production and AI
The English and French texts, the MJML sources, the compiled HTML and the generation and checking scripts were produced with an AI assistant (Claude Code), then reviewed and checked: a fingerprint for every file, the recompiled sources compared with the delivered HTML, renders in two engines at several widths, contrast, an accessibility audit, a review of the texts, contact sheets reviewed by eye. No image was produced by an image generator: the captures come out of the kit’s scripts.
Formats and compatibility
- MJML: 24 sources and 6 partials, to compile with MJML.
- HTML: 24 files, one column of 600 px at most, fluid below, base CSS inlined, system fonts, to paste into an email tool or wire into your code.
- Plain text: 24 UTF-8
.txtfiles, lines of 78 characters at most. - PNG: 48 captures.
- Variables in the
{{…}}format, for double-brace template engines.
Licence
The templates are sold with the commercial licence (terms in French): you may modify them and use them for your own sending as well as your clients’, in personal and professional projects, but you may not resell them, redistribute them or publish them as reusable templates (template gallery, public repository), even for free.
Further reading
- Responsive HTML email templates: newsletter and transactional emails: the account and the shop (welcome, email verification, password, sign-in code, receipt, failed payment), built the same way as this pack and sharing no template with it.
Version history
1.0.0 (November 11, 2026): first version.




