Quick Diagnostic Checklist
Check your domain status
Open the Domains page in the Lettr dashboard. Your sending domain must show a status of approved and all DNS records must be valid. If anything shows
pending, unverified, or invalid, resolve that first.Check the suppression list
Navigate to Suppressions in the dashboard and search for the recipient address. If the address appears on the list, it was suppressed due to a previous bounce or complaint and Lettr will not attempt delivery.
Check the email status
Go to Emails in the dashboard and locate the specific message. The status and any error details will tell you whether the email was accepted, bounced, or failed to send.
Common Issues
Domain Not Verified
Domain Not Verified
Lettr requires a verified sending domain before it will transmit any email. If your domain status is You can also check the current domain status:
pending or DNS records show unverified / invalid, emails will fail with an unconfigured_domain or invalid_domain error.To fix this:- Open the Domains page in the dashboard.
- Click on the domain in question and review the required DNS records (SPF, DKIM, DMARC).
- Add or correct the records with your DNS provider.
- Click Verify in the dashboard, or trigger verification via the API:
DNS changes can take up to 48 hours to propagate, though most resolve within minutes.
Recipient Suppressed
Recipient Suppressed
If a recipient previously hard-bounced or filed a spam complaint, Lettr automatically adds them to your suppression list. Any future sends to that address will be silently blocked.Suppressions are managed entirely through the dashboard — there is no API endpoint for suppressions. Navigate to Suppressions, search for the address, and remove it if you believe the issue has been resolved.See Bounce Suppressions for more detail on how Lettr handles suppression rules.
Spam Filters Blocking
Spam Filters Blocking
If your email is delivered but lands in the spam folder, the problem is not a Lettr delivery failure — it is a placement issue driven by content, authentication, or reputation.See Troubleshooting Spam Placement for a full guide on diagnosing and fixing spam folder placement.
Rate Limited
Rate Limited
If you are sending a high volume of emails in a short period, you may encounter rate limiting. Lettr returns an HTTP
429 status when the limit is reached.See Rate Limits for details on current limits and strategies for handling them.Invalid From Address
Invalid From Address
The
Make sure your
from address in your API request must use a domain that is verified in your Lettr account. If it does not, the API will reject the request.Possible error codes:| Error Code | HTTP Status | Meaning |
|---|---|---|
validation_error | 422 | The from field is missing or malformed. |
invalid_domain | 400 | The domain in the from address is not recognized. |
unconfigured_domain | 400 | The domain exists but DNS is not properly configured. |
from address matches a domain with approved status and valid DNS in the dashboard.Checking Email Status
The fastest way to check the status of a specific email is through the Emails section of the Lettr dashboard, where you can search by recipient, subject, or request ID. You can also retrieve an email by its ID through the API:Reading Bounce Messages
When a recipient server rejects an email, it returns an SMTP status code. Lettr surfaces these codes in the dashboard and through theemail.bounced webhook event. Here are the most common codes and what to do about them:
| SMTP Code | Meaning | Action |
|---|---|---|
550 5.1.1 | Mailbox does not exist. | Remove the address from your list. This is a hard bounce and the recipient is automatically suppressed. |
550 5.7.1 | Message rejected by policy (spam, authentication, or block). | Check your SPF/DKIM/DMARC records and review your email content for spam triggers. |
452 4.2.2 | Mailbox full. | This is a soft bounce. Lettr will retry automatically. If it persists, the recipient may have abandoned the mailbox. |
421 4.7.0 | Temporary rate limit from the recipient server. | No action needed. Lettr will retry delivery. If the problem persists across many recipients at the same domain, slow your sending rate. |
email.bounced event includes the bounce type and SMTP details: