Troubleshooting
Common errors and how to fix them.
SMTP errors
| Code | Meaning | Fix |
|---|---|---|
535 5.7.8 |
Authentication failed | Wrong handle or API key. Sign into /account and regenerate the key. |
451 4.7.1 |
Warming tier rate limit | Back off and retry. See Warming tiers for caps and durations. |
451 4.4.2 |
Queue full or transient submission error | Server-side. Retry with exponential backoff. |
550 5.1.0 |
From address not allowed | The MAIL FROM domain isn't enrolled under your DID. Check the From: address matches an enrolled domain. |
550 5.7.1 |
Recipient suppressed | The recipient unsubscribed via List-Unsubscribe. Remove them from your list. See Bounces and suppression. |
521 (connect) |
Member suspended | Your account is suspended (manual or auto-suspension on bounce rate). Sign into /account to see the reason. |
HTTP API errors
The HTTP API returns the same conditions as SMTP, with JSON error codes. The full table is on the Send API page.
Quick reference for the most common ones:
Enrollment problems
"DKIM not yet verified" after I added the records
DNS propagation can take a few minutes to an hour. Verify with dig:
dig +short TXT <selector>r._domainkey.yourdomain.com
If dig shows the record but the labeler hasn't picked it up yet, wait a minute and refresh /account. The labeler retries every few minutes.
If dig shows nothing, double-check the record name. Some DNS providers strip the trailing dot or expect just the subdomain (e.g. <selector>r._domainkey rather than the full hostname).
"Domain ownership verification failed"
The relay verifies ownership via a TXT record. If verification fails:
- Confirm the TXT record is at the exact name shown during enrollment (some DNS providers treat
@differently). - Run
dig +short TXT yourdomain.comand check the value matches. - Wait for propagation. Most providers update within minutes; some take an hour.
"I sent mail but it didn't arrive"
- Check status at /account. The message will be marked
sent,deferred, orbounced. See Reliability for what each means. - If the status is
sent, the recipient's mail server accepted the message. Check the recipient's spam folder. If it landed in spam, see DKIM/SPF/DMARC alignment below. - If the status is
deferred, the recipient's MX returned a 4xx. The relay will retry. See retry schedule. - If the status is
bounced, you'll receive a DSN at your bounce address (your sending domain'spostmaster@or your forward-to mailbox). The DSN explains why.
Mail landing in spam
Causes, in order of likelihood:
- You're in the warming tier. New domains take 14 days to build reputation; until then, some providers will be cautious.
- DKIM not aligned. Check
dig +short TXT <selector>r._domainkey.yourdomain.comand confirm the record is published. - Missing SPF. Check
dig +short TXT yourdomain.comfor av=spf1record. - Content patterns. Heavy promotional language, lots of links, or no plain-text alternative pushes spam scores up. Send a plain text version alongside HTML.
"Replies aren't reaching me"
Reply forwarding is opt-in per domain. Confirm:
- You set a
forward-toaddress for the domain at /account. An empty value means inbound mail bounces with550. - The domain's MX record points at the relay. See Reply forwarding for the MX setup.