One place for every letter. Edit the HTML, see it rendered, publish when it is right.
Nothing is stored on this device: close the tab and this page forgets your credentials.
Statistics per mailing →
· Promo-code reminders →
· Email Marketing Dashboard →
(TASK-5899: acceptance, delivery, opens, clicks, unsubscribes, complaints, links,
orders and revenue — per mailing, never pooled across mailings that share a template version)
Email-safe HTML: tables, inline style=, a <style>
block with @media queries and MSO conditional comments all survive untouched.
<script>, on*= handlers and javascript: URLs are
removed server-side and reported below.
The plain-text twin. Left empty, it is derived from the HTML (links become “label (url)”). A hand-written one is always better.
| name | label | kind | req | example / sample value |
|---|
The preview and a test send both merge this under any data a real caller supplies. A promo code here is a sample string: this section never produces a code — see the promo note in the send panel.
Saving a draft changes nothing that is being sent. The live letter is a different row with a different primary key; publishing is the only act that moves it.
PNG / JPEG / GIF / WebP, up to 5 MB. The URL is permanent and unsigned — no expiry, so an e-mail opened next year still shows the picture. SVG is refused (it can carry script); the brand logo is already on the Shopify CDN, see below.
Brand logo (existing, authentic):
Both panes show the SAME rendered letter — the one the server would hand to SES. Widths are free-form; 800 and 375 are only the starting points.
—
…
One address per call — there is no bulk parameter anywhere in the API. A repeat of the same template to the same address inside the cooldown is refused, and the idempotency key makes a double click one e-mail. Every attempt, including every refusal, is written to the send log with the SES MessageId and no secrets.
…