Free to try. No card. Your first email lands in about five minutes.
Click a flavour. The same engine that sends the mail redraws it in front of you.
Really rendering. Same engine that sends the mail.
// somewhere in your codebase, forever
const html = `<table role="presentation"
style="width:100%;max-width:600px;
background:#fff;border:1px solid #e4e4e7">
<tr><td style="padding:28px 32px">
<h1 style="font:600 24px/1.3 Helvetica">
Reset your password
</h1>
<a href="${url}" style="display:inline-block;
padding:13px 30px;background:#2563eb;
color:#fff;border-radius:6px">Reset</a>
</td></tr></table>`
await mailer.send({ to: user.email, subject, html })
Every colour change is a deploy. Every new email is another block like this.
// you chose the look in the builder, once
await sendslice.send({
template_id: 'password-reset',
to: user.email,
subject: 'Reset your password',
data: { first_name: user.firstName,
reset_url: url },
})
No colours. No fonts. No HTML. Change the look in the builder and this code never changes.