Postmark
Connect Postmark to Senlo, and its webhook for delivery events.
Provider type: Postmark
Server API Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Webhook Secret: any long random string
Webhook URL: https://senlo.io/api/webhooks/postmark
Webhook header: X-Postmark-Secret: <the same string>1. Verify your sender in Postmark
Postmark sends only from a verified domain or sender signature. Verify the domain of the From email you will use on your triggers (Sender Signatures in Postmark).
2. Get the server token
Open your Postmark Server → API Tokens and copy the Server API token. Senlo sends through Postmark's transactional stream with it.
3. Add the provider in Senlo
- Generate a webhook secret, e.g.
openssl rand -hex 32. - Open Providers → Add Provider, Provider Type: Postmark.
- Server API Token: the token. Webhook Secret: the string you generated.
- Click Create Provider, then select it in your workspace's Settings.
4. Connect the webhook
Postmark does not sign webhooks, so Senlo checks a shared secret in a header instead.
- In Postmark, open the server → Webhooks → Add webhook.
- URL:
https://senlo.io/api/webhooks/postmark(self-hosted: yourAPP_URL+/api/webhooks/postmark). - Add a custom header: name
X-Postmark-Secret, value the webhook secret you saved in Senlo. - Enable Delivery, Bounce and Spam Complaint. Open and Click are logged too, if you enable them.
Without the secret saved in Senlo, every Postmark event is refused with 401. Details: Provider webhooks.
Testing
Postmark's sandbox servers accept mail without delivering it, and its test addresses (e.g. test@blackhole.postmarkapp.com) simulate outcomes.