Keep your email designs out of your code

Write an email once as a template with variables, publish it, and send it by id or alias. Change the template and every send after that uses the new version.

What you can do

Everything in templates

  • Variables with fallbacks

    Write {{{NAME}}} to insert a value as is or {{NAME}} to HTML-escape it. Declare up to 50 variables, each with a fallback value.

  • Send by id or alias

    Pass template with its id or a stable alias, plus your variables, instead of html and text.

  • Edit with a live preview

    Edit the HTML in the console with a live preview, set variables and send yourself a test.

  • Defaults for each send

    A template can carry its own subject, from and reply-to, used when a send leaves them out.

  • Duplicate to try changes

    Edits to a published template are live at once, so duplicate it, change the copy and switch your code when it's ready.

How it works

From first step to done

  1. 1Create a templateWrite the HTML in the console or with POST /templates, and give it an alias.
  2. 2Add a subject and publishA template needs a subject before it can be published and sent.
  3. 3Send itCall POST /emails with template: { id, variables }.
Good to know
Variables
Up to 50
HTML
2 MB
Plain text
1 MB
Alias
Up to 64 characters
Read more in the docs
Developer API

Ship email today

Start free with 3,000 emails a month. Upgrade only when you need more.

Compare plans
  • 3,000 emails a month free
  • No credit card needed
  • Upgrade anytime
Get started in 3 steps
  1. 1Create your free accountGet an API key in seconds.
  2. 2Verify a sending domainAdd the DNS records we show you.
  3. 3Send with one requestcURL, Node.js, Python: plain HTTP.