
Postmark is built specifically for transactional email with strict reputation isolation. It uses the unusual pattern of putting the same Server API Token into BOTH the username and password fields - most people fill it in once and get authentication errors before realizing they need to paste it twice.
Postmark isolates transactional and broadcast streams on separate IP pools, so a marketing list issue cannot drag down your password-reset deliverability. Pick the host that matches the stream you'll send through.
Find your Server API Token
- Sign in to
account.postmarkapp.com. - Click the Server you want to send through (or create one).
- Top tabs, click API Tokens.
- Copy the value labeled Server API Token (you may have multiple; pick the one matching your environment).
Server API Token, NOT Account API Token: Postmark has two token tiers. The Account API Token manages your billing and server list - it does NOT work for SMTP and Postmark returns "ServerAPI key required". Always use the per-server token.
Connect to Inflowave
- Inflowave → Settings → Email → Add sending domain → Custom SMTP.
- Host:
smtp.postmarkapp.com(orsmtp-broadcasts.postmarkapp.comfor marketing). - Port:
587. - Username: paste the Server API Token.
- Password: paste the SAME Server API Token.
- Save, send a test.
Choosing a message stream
When sending via smtp.postmarkapp.com, Postmark routes to the default transactional stream unless you specify otherwise. To target a specific stream (e.g. a separate stream for receipts vs notifications), add a custom SMTP header:
X-PM-Message-Stream: your-stream-idMost Inflowave use cases don't require manual stream selection - the default transactional stream is correct.
Troubleshooting
You used the Account API Token instead of the Server API Token. They look similar (both are UUIDs) but only the Server token authenticates SMTP. Switch to a per-server token.
Username and password are not the SAME value. Postmark requires the Server API Token in BOTH fields - copy-paste the same value twice.
Your sending domain is not verified on this Postmark server. Servers → your server → Sender Signatures tab → verify the domain via DNS records.
Official sources
- Postmark Developer User Guide - Send email with SMTP (host, ports, token usage)
- Postmark Developer Documentation - API overview (Server vs Account tokens)
- Postmark Blog - Introducing Message Streams (transactional vs broadcast isolation)
- Postmark Support - Sender Signatures: confirming your From address
