Test Emails in the Dashboard
The simplest way to test is from the Lettr dashboard:- Go to Emails and open any template
- Click Send Test Email
- Enter your own email address (or any address you control)
- The email is sent through the full delivery pipeline, so you can verify rendering, headers, tracking, and deliverability
Sandbox API Keys
The easiest way to test your API integration is with a sandbox API key. Sandbox keys redirect all emails to your own inbox automatically — no domain setup required, no risk of reaching real recipients.customer@example.com. Sandbox sends are free, don’t require a verified domain, and don’t count against your quota.
Create a sandbox key in Settings > API Keys by setting the type to Sandbox. See the Sandbox API Keys guide for full details on rate limits, allowed endpoints, and data isolation.
Test Emails via the API
When integrating with the API, send test emails to addresses you control to verify your code works before going live.Basic Test Send
Validating the Response
A successful send returns a202 Accepted response with the email ID:
Using Test Email Addresses
When you need to test your sending logic but don’t want to deliver emails to real inboxes, use these approaches:Plus Addressing
Most email providers support plus addressing, which lets you create unlimited test aliases:yourname@gmail.com, but they appear as distinct recipients in Lettr, making it easy to track and filter test sends.
Dedicated Test Domain
For team testing, set up a subdomain specifically for test recipients:- Register a subdomain like
test.yourdomain.com - Configure email receiving for that subdomain
- Use addresses like
qa@test.yourdomain.com,staging@test.yourdomain.com
Testing Webhooks
Verify your webhook endpoint processes events correctly before relying on it in production.Send Test Webhook Events
From the Lettr dashboard:- Go to Webhooks and select your endpoint
- Click Send Test Event
- Choose the event type (delivered, bounced, opened, clicked, etc.)
- Check your server logs to confirm the event was received and processed
Local Development with Tunnels
Test webhooks against your local development server using a tunnel:https://abc123.ngrok.io) and set it as your webhook endpoint in the Lettr dashboard.
Remember to update your webhook URL back to your production endpoint before deploying. Tunnel URLs are temporary and will stop working when the tunnel session ends.
Verifying Domain and Authentication Setup
Before sending to real recipients, verify that your authentication is correctly configured.DNS Verification Checklist
Check domain status in the dashboard
Go to the Domains page and verify all records show a green checkmark. If any record is pending or failed, follow the setup instructions for your DNS provider.
Send a test and inspect headers
Send a test email to your Gmail account. In Gmail, click the three-dot menu and select Show original. Verify:All three should show
pass.Pre-Production Checklist
Before switching from testing to production sending, work through this checklist:Authentication passes for all three protocols
Authentication passes for all three protocols
Send a test email and verify
dkim=pass, spf=pass, and dmarc=pass in the email headers. Do not proceed until all three pass. See Authentication Issues if any are failing.Webhook endpoint is receiving and processing events
Webhook endpoint is receiving and processing events
Send test webhook events from the dashboard and confirm your endpoint handles them correctly. Verify signature verification is working. See Webhook Delivery Failures.
Email renders correctly in major clients
Email renders correctly in major clients
Test your email templates in Gmail, Outlook, and Apple Mail. Check both desktop and mobile rendering. See Email Content Rendering Issues.
Unsubscribe and compliance elements are in place
Unsubscribe and compliance elements are in place
Verify marketing emails include a visible unsubscribe link, a physical address, and that the
List-Unsubscribe header is present. See Unsubscribe Best Practices.Error handling is implemented
Error handling is implemented
Your integration should handle API errors (rate limits, validation errors, server errors) gracefully with appropriate retries. See Rate Limits and Errors and Retries.
Environment variables are set correctly
Environment variables are set correctly
Confirm your production environment has the correct API key, webhook secret, and any other configuration values. Do not use test or development keys in production.
Warm-up plan is ready (for new domains)
Warm-up plan is ready (for new domains)
If this is a new sending domain, prepare a warm-up schedule before sending at full volume. See IP and Domain Warm-Up.
Debugging Common Test Issues
| Issue | Cause | Fix |
|---|---|---|
| Test email not arriving | Email went to spam folder | Check spam/junk folder; verify authentication passes |
401 Unauthorized response | Invalid API key | Verify the key is correct and active in Settings > API Keys |
422 Validation Error | Invalid request body | Check the response body for specific field errors; verify from, to, subject, and html fields |
| Template variables not rendering | Missing or incorrect variable syntax | Verify you’re passing the correct data object with matching variable names |
| Tracking links not working | Custom tracking domain not configured | Set up a tracking domain at Tracking Domains or use the default |
| Webhook test event not received | Endpoint URL incorrect or server not running | Verify the URL in webhook settings and confirm your server is accessible from the internet |