Self-contained, table-based HTML emails built to the Figma design. Open any one to preview it alongside its source, ready to copy into Cognito or another sender.
{####} placeholder.Every template is built 1:1 from the Figma "Emails" file. Sizes, colours, weights and spacing are measured from the design, not approximated from tokens.
<style>, no external stylesheet, no JavaScript, no build step. Paste a whole file into Cognito, SES, or any sender.bodd-email-master.html holds every block and variant. The four email files are assembled from it, so fixes flow from the master out to the emails.Dark mode is opted into with <meta name="color-scheme">. From there, clients split into two camps.
@media (prefers-color-scheme): dark page and card, lightened text, a tinted code box.#757575), subtle in both modes.Two more defensive touches: pure #FFFFFF and #000000 are nudged to #FFFFFE and #000001 so Apple Mail does not auto-invert whole regions, and [data-ogsc]/[data-ogsb] hooks patch Outlook.com's partial invert as best-effort.
#0171D9 in both light and dark. It reads on every background.#32A1FC in dark for targetable clients, so its border and text keep contrast.<v:roundrect> for Outlook and a padded rounded <a> everywhere else. Full-width on mobile.mso-line-height-rule alone sat the code low in its box.font-family per cell, because Outlook does not inherit it.{####} (code or temporary password, keep it exactly once), {username}.{{company}}, {{confirmUrl}}, {{name}}, {{deletionDate}}, {{cancelUrl}}.Every Bodd logo links to bodd.com with UTM parameters, so this traffic is attributable in analytics. If you add more links, tag them the same way. Keep source and medium fixed; that is what separates transactional email from marketing.
| Parameter | Value | Notes |
|---|---|---|
utm_source | transactional | Fixed. Marks it as a transactional, not marketing, send. |
utm_medium | email | Fixed. |
utm_campaign | the email's name | One value per template, kebab-case: invitation, verification-code, account-deletion, temp-login. The reference file uses master. |
utm_content | the element | Which link was clicked. All logo links use logo; use distinct values if you add others, e.g. header-cta or footer-privacy. |
So an invitation logo link looks like:
https://bodd.com/?utm_source=transactional&utm_medium=email&utm_campaign=invitation&utm_content=logo
int-hub.bodd.io). UTM is for arrivals on bodd.com only; internal app links stay clean.All images are hosted at bodd-email-assets.s3.ap-southeast-1.amazonaws.com. Logos and the gradient bar are cached long, since they rarely change; the image placeholder and signature avatar are set to no-cache while we iterate.