PostMTA Operator Documentation
Everything you need to configure, operate, and scale your email infrastructure with PostMTA. PostMTA is a managed MTA (Mail Transfer Agent) appliance with an API-first design — you send email by calling the REST API, and PostMTA handles deliverability, reputation, encryption, and analytics.
What Is PostMTA?
PostMTA is a credit-gated managed email sending platform. Instead of operating your own mail server infrastructure, you integrate with the PostMTA API and let PostMTA handle:
- MTA operations — SMTP relay, MX handling, retry logic, queue management
- TLS encryption — TLS 1.3 on all outbound connections, certificate management via Let's Encrypt
- Authentication — DKIM signing, SPF alignment, DMARC reporting
- Sender reputation — Per-domain and per-IP reputation tracking, IP warmup
- Analytics — Delivery, engagement, bounce, and complaint metrics
- Compliance — List-unsubscribe handling, spam testing, TLS reporting
Documentation Structure
The docs are organised into five groups:
| Group | Pages | What it covers |
|---|---|---|
| Getting Started | Overview, Quick Start, Authentication | Account setup, first send, API key creation |
| Configuration | Sending Domains, Webhooks, IP Pools, Subusers | Domain verification, event delivery, dedicated IPs |
| Sending | Templates, Campaigns, Suppression Lists, Custom Headers | Email creation, batch sends, unsubscribe management |
| Reporting | Analytics, Bounces, Spam Testing | Metrics, bounce handling, pre-send spam scoring |
| Reference | API Reference, SDKs, TLS & Security, Migration, Billing, Errors | Complete technical reference |
Quick Start
Send your first email in under 5 minutes.
Getting StartedAPI keys, scopes, and access control.
Getting StartedDomain verification and DKIM/DMARC setup.
ConfigurationThe Email API, batching, and priority queuing.
ConfigurationReal-time event delivery and retry logic.
ConfigurationDedicated IPs, warm-up, and reputation management.
ConfigurationAPI Base URL
https://api.postmta.com/v1Send Your First Email
curl -X POST https://api.postmta.com/v1/messages/send \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{
"from": {"address": "hello@yourdomain.com"},
"to": [{"address": "recipient@example.com"}],
"subject": "Welcome",
"html": "<h1>Hello!</h1><p>Welcome to Example Co.</p>"
}'You should receive a 201 Created response with {'{'}'{'{'}'{'}'}'{'{'}'{'{'}'{'}'}'{'{'}'{'}'}'{'}'}"id": "msg_01HX...", "status": "queued"{'{'}'{'{'}'{'}'}'{'{'}'{'}'}'{'}'}'{'{'}'{'}'}'{'}'}. The email will be delivered within seconds.
Rate Limits by Plan
| Plan | Requests / min | Daily emails | Credits per $ |
|---|---|---|---|
| Starter | 60 | 10,000 | 667 |
| Growth | 300 | 100,000 | 1,000 |
| Scale | 1,000 | Unlimited | 1,667 |
| Enterprise | Custom | Unlimited | Custom |
HTTP Status Codes
| Code | Meaning | Retry? |
|---|---|---|
200 | Success | No |
201 | Created | No |
400 | Bad Request | No |
401 | Unauthorized | No |
403 | Forbidden | No |
404 | Not Found | No |
422 | Validation Error | No |
429 | Rate Limit Exceeded | Yes (after Retry-After) |
500 | Internal Server Error | Yes (exponential backoff) |
503 | Service Unavailable | Yes |
Official SDKs
| Language | Package | Install |
|---|---|---|
| Node.js / TypeScript | @postmta/sdk | npm install @postmta/sdk |
| Python | postmta-python | pip install postmta-python |
| Go | github.com/postmta/postmta-go | go get github.com/postmta/postmta-go |
| Ruby | postmta-ruby | gem install postmta-ruby |
| PHP | postmta/php | composer require postmta/php |
| Java | com.postmta:postmta-java | Maven / Gradle dependency |
Support and Status
- Email support: hello@netwit.ca
- Status page: https://status.postmta.com
- API OpenAPI spec:
https://api.postmta.com/v1/openapi.json - Community forum: https://community.postmta.com
- Changelog: PostMTA Changelog