Message streams
Send transactional mail through the API with priority critical or default, and marketing through Sendix Broadcasts — ideally from a separate sending subdomain.
Replace the server token with a Sendix API key, rename a handful of fields, and map message streams onto Sendix priorities and Broadcasts.
- SMTP_HOST=smtp.postmarkapp.com+ SMTP_HOST=smtp.sendix.dev- SMTP_PORT=587+ SMTP_PORT=587 # STARTTLS- SMTP_USER=<server-token>+ SMTP_USER=<username from dashboard>- SMTP_PASS=<server-token>+ SMTP_PASS=<Sendix API key>Verify your domain in Sendix, then replace the Postmark server token: SMTP moves from smtp.postmarkapp.com to smtp.sendix.dev:587, and API calls move from POST https://api.postmarkapp.com/email with X-Postmark-Server-Token to POST https://sendix.dev/api/v1/emails with a Bearer API key. Map webhooks (Delivery → email.delivered, Bounce → email.bounced, SpamComplaint → email.complained) and import each stream’s suppressions into Sendix.
Run Postmark and Sendix side by side until the new path is proven.
Publish the Sendix DKIM TXT record (<selector>._domainkey), the bounce CNAME (bounce.<your-domain> → bounce.sendix.dev) and add include:mail.sendix.dev to your SPF record. Postmark’s DKIM records can stay while both providers send.
Field names change from PascalCase (From, To, Subject, HtmlBody, TextBody, TemplateModel) to Sendix’s from, to, subject, html, text and template_data; the server token header becomes Authorization: Bearer.
Create a Sendix webhook for the events you consumed from Postmark, verify X-Sendix-Signature, and map event names with the table below.
Export bounced, unsubscribed and complained addresses from Postmark, add them with POST /v1/suppressions, move traffic gradually, then remove Postmark’s SPF include.
Where each piece of your current integration lives in Sendix.
| Concept | Postmark | Sendix |
|---|---|---|
| SMTP server | Postmarksmtp.postmarkapp.com:587 | Sendixsmtp.sendix.dev:587 (STARTTLS) |
| SMTP login | PostmarkServer API token as username and password | SendixUsername from your dashboard, API key as password |
| Send endpoint | PostmarkPOST https://api.postmarkapp.com/email | SendixPOST https://sendix.dev/api/v1/emails (JSON) |
| API authentication | PostmarkX-Postmark-Server-Token header | SendixAuthorization: Bearer <API key> |
| Templates | PostmarkTemplates (Mustachio syntax) | SendixVersioned {{variable}} templates (template_id + template_data) |
| Delivered event | PostmarkDelivery | Sendixemail.delivered |
| Bounce event | PostmarkBounce | Sendixemail.bounced |
| Complaint event | PostmarkSpamComplaint | Sendixemail.complained |
| Webhook security | PostmarkBasic auth or custom headers on the URL | SendixX-Sendix-Signature (HMAC-SHA256) |
| Suppressions | PostmarkSuppressions per message stream | SendixSuppression list API (/v1/suppressions) |
Postmark is a trademark of its owner. Its column summarizes public documentation as of September 12, 2026; confirm current details in Postmark’s docs before migrating.
Postmark features that need a plan, and where they land in Sendix.
Send transactional mail through the API with priority critical or default, and marketing through Sendix Broadcasts — ideally from a separate sending subdomain.
Mustachio {{variables}} look similar to Sendix templates; recreate each template and preview it with real data before switching.
Sendix signs every delivery. Update your receiver to verify X-Sendix-Signature rather than relying on basic auth alone.
Postmark inbound maps to Sendix inbound: MX on a receiving domain plus the email.received webhook.
Answers for teams moving from Postmark.
Sendix separates them by priority (critical, default, bulk each run on their own delivery workers) and by product surface: the Email API for transactional mail and Broadcasts for audience campaigns.
Yes. Each provider signs with its own DKIM selector, and a single SPF record can include both during the transition — keep it to one SPF record and within the 10-DNS-lookup limit. A domain can have only one DMARC record, so keep your existing one if it already has a policy.
The Node SDK and CLI exist as source packages but are not yet published to npm, so most teams integrate over the REST API (plain HTTPS and JSON) or SMTP. Neither needs an extra dependency.
Import them as suppressions with POST /v1/suppressions and a reason of hard_bounce, unsubscribed or complained. Sendix then reports email.suppressed instead of sending to those addresses.
The free plan includes 1,000 emails per month. Paid plans change volume and limits, not your API calls or SMTP settings.
1,000 emails free every month. No credit card required. Upgrade only when you outgrow the free tier — and we will let you know when that time comes.
Managed SaaS platform · Native SMTP engine · SOC 2 in progress