Sending Newsletters and Bulk Emails with Resend in Next.jsSending Newsletters and Bulk Emails with Resend in Next.js
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Send Newsletters & Bulk Emails with Resend in Next.js 16
Looping resend.emails.send() over a subscriber list works until it hits rate limits or a serverless timeout halfway through. This guide covers the right tool for each case: Contacts, Segments, and Topics with the Broadcast API for newsletters, and the Batch API for per-recipient content. It also covers handling duplicate subscribers, scheduling, after() and queue-based sends for large lists, idempotency keys, and webhook-based bounce handling. Published on DevStacked, my developer blog covering practical Next.js and SaaS implementation guides.
Post image
Timothy's avatar
The idempotency keys point is the one people learn the hard way: a retried batch after a serverless timeout is how a list gets the same newsletter twice. Do you suppress bounced and complained addresses automatically from the webhook, or keep that as a separate cleanup step?
Syed Muhammad's avatar
Yep, you've nailed the failure mode. Idempotency keys are what saved me there.
On bounces and complaints, it's automatic. The webhook handler does it on the event itself, a complaint unsubscribes the contact immediately and a bounce gets flagged in my DB so later sends skip that...
Timothy's avatar
Handling it on the event itself is the right call. Agreed on soft bounces too: a full mailbox this week is often fine next week, so I'd give those a few sends before suppressing for good.
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started