My newsletter blast didn't send — what happened?
Resend rate limits, domain verification status, subscriber list validation, and member-webhook events — diagnose and recover from newsletter send failures in VeloCMS.
You hit Send on a newsletter blast, saw the confirmation spinner, and then... nothing arrived in your test inbox. Or partial sends — some subscribers got it, some didn't. Newsletter delivery failures are stress-inducing because they're time-sensitive. Here's how to diagnose what went wrong and how to recover.
Check the send status in admin
Go to Admin → Newsletter → Sent and find the blast. The status column will show one of: Queued (not started yet), Sending (in progress), Partial (some failures), Completed (all sent), or Failed (couldn't send at all). For Partial and Failed states, click on the send record to see error details per batch.
Resend rate limits
Resend's default sending rate is 100 emails per second on paid plans and 10 per second on the free plan. VeloCMS batches newsletter sends to stay within these limits. If your subscriber list is large and you're on a Resend plan with rate limits, the full blast can take several minutes to complete. This is normal — it's not a failure, it's queuing. The send status will show 'Sending' until all batches complete.
The free Resend plan is limited to 100 emails per day. If you have more than 100 subscribers and you're on the free plan, only the first 100 will receive the newsletter. Upgrade your Resend plan before sending to a large list.
Domain verification status
Resend requires your sending domain to be verified (SPF + DKIM records added and validated) before you can send emails in bulk. On paid plans, sending from an unverified domain is blocked entirely for compliance reasons.
- Go to Resend dashboard → Domains.
- Your sending domain should show a green 'Verified' badge. If it shows 'Unverified' or 'Pending', the DNS records haven't propagated yet or there's a configuration error.
- Click the domain to see which specific records (SPF, DKIM) are failing.
- After fixing DNS records, click 'Verify Now' — DNS changes can take up to 30 minutes to propagate.
- Once verified, retry the newsletter blast from Admin → Newsletter → Sent → the failed blast → Resend.
Subscriber list validation
VeloCMS validates subscriber email addresses before sending. Addresses that previously bounced hard (permanent delivery failures) are automatically suppressed — Resend maintains a suppression list and VeloCMS respects it. If you notice a specific subscriber not receiving newsletters, check Admin → Members → find the member → check their email address for typos and their status (Active vs. Unsubscribed vs. Bounced).
Never try to re-send to addresses on the Resend suppression list. Suppressed addresses bounced or marked your email as spam — continuing to send to them will hurt your domain's sender reputation and can result in Resend suspending your account.
Member-webhook and auto-send on publish
VeloCMS can automatically send a newsletter to subscribers when you publish a new post (Admin → Settings → Newsletter → Auto-send on publish). This uses an internal member-webhook event. If auto-send is enabled but newsletters aren't going out after publication, confirm the member-webhook endpoint is registered correctly. Go to Admin → Settings → Integrations → Member Webhook and verify the endpoint URL and secret match your environment variables (MEMBER_WEBHOOK_SECRET).
Resend event log — the full picture
For a detailed view of what happened to every email in a blast, go to Resend dashboard → Logs. Filter by your sending domain and the date of the blast. You'll see individual send, deliver, bounce, and complaint events per email address. If Resend shows 'Delivered' for an address but the subscriber says they didn't receive it, the issue is on their mail server — encourage them to check spam and whitelist your sending domain.