Why is my newsletter stuck in "Sending" or "Processing"?
You scheduled your letter, the send time arrived, and now the status shows Processing or Sending, instead of moving to Published.
This guide explains what each status actually means, how the progress numbers work, and when something has gone wrong.
What "Processing" and "Sending" statuses mean
Every letter moves through a fixed set of statuses on its way out the door. The two you're most likely to see right after scheduling are:
- Processing — Letterhead has handed your letter off to the email service provider (ESP) and is creating the campaign on their side. No emails have left yet.
- Sending — The campaign has started delivering and emails are flowing out to recipients. As delivery progresses, the status updates to Sending (25%), Sending (50%), and Sending (75%). Once delivery hits 100%, the status flips to Published.
So a normal send looks like this:
Scheduled → Processing → Sending → Sending (25%) → Sending (50%) → Sending (75%) → Published
The percentage numbers reflect delivery progress, not just sending. They update on a polling schedule — typically every few minutes — so you'll see the bar tick up in chunks rather than smoothly.
How long should it take?
Send times scale with audience size and ESP throughput:
- Under 5,000 recipients: Processing usually finishes in seconds. The Sending → Published transition completes within a minute or two.
- 5,000 – 50,000 recipients: Expect a few minutes. Most of that time is ESP delivery, and the percentage indicators will tick up as it progresses.
- 50,000+ recipients: Can legitimately take 10–30 minutes or longer on shared ESP infrastructure.
If you're well past those windows and the status hasn't moved, work through the causes below.
Cause 1: It's normal — the percentage just hasn't crossed the next threshold yet
The Sending percentage doesn't advance smoothly. The background process that updates it checks against thresholds — once delivery crosses 100%, the status jumps to Published; once it crosses certain mid-thresholds, the status advances to the next "Sending (n%)" label.
If you're looking at Sending (25%) and it's been a few minutes, that doesn't mean nothing is happening. Open the letter's metrics view (click the letter from the channel's Newsletters list). If the Sent count is climbing, the send is working — the status indicator just hasn't refreshed yet.
What to do: Refresh the page after a few minutes. If Sent count is still growing, leave it alone.
Cause 2: Stuck on Processing for more than 5 minutes
If the status stays on Processing and never moves to Sending, the campaign creation on the ESP side has stalled or errored. Common reasons:
- The ESP rejected the campaign. The most frequent cause is invalid or expired ESP API credentials. The send would have been blocked at scheduling time if the key had been rotated before — but if it was rotated mid-flight, the campaign creation can fail silently.
- A curation source timed out while Letterhead was assembling the content.
- The rendered HTML is too large to deliver (large embedded images, very long curation lists).
What to do:
- Open the letter's metrics view and look for a Sent count. If it's zero and not changing, the send hasn't started.
- Check Step 2 → Content Check on the letter. If Email Weight shows a warning, the letter may be too heavy for the ESP to accept.
- If it's been more than 15 minutes on Processing with no movement, contact support with the letter's Unique ID and the channel slug. Engineering can check the job logs and retry.
Cause 3: Stuck on the same Sending percentage for too long
If the status stays on Sending (25%) or Sending (50%) for an extended period:
- Delivery actually slowed. ESPs throttle for large sends or after bounce spikes. The send is working; the percentage just isn't crossing the next threshold.
- The status-update process is delayed. A scheduled background task polls ESP delivery metrics and advances the status. If that task is backed up, the status lags behind the actual delivery state.
- The ESP encountered an error mid-send. Rare, but possible — usually surfaces as recipients in the Bounce count climbing rapidly.
What to do:
- Open the letter's metrics view. Look at Sent, Delivered, Bounces, Opens. If Sent is at or near the audience size, the actual send is done — only the status label is behind. Wait for the next poll cycle, or refresh.
- If Sent is well below the audience size and not growing, contact support — the ESP side may have stalled.
- If Bounces are spiking, that itself is worth a separate look; some ESPs auto-pause sends when bounce rate gets too high.
Cause 4: The send was scheduled but the time has passed
If the scheduled time has come and gone but the status is still Scheduled (not Processing), the letter didn't get picked up by the scheduling worker. This is rare but possible during deploys or backend incidents.
What to do: Open Step 2 → Date and Time, set it to "right now" (a minute or two in the future), and re-save. The send should pick up on the next worker cycle.
Cause 5: A/B test "pick the winner" hasn't fired yet
If your letter is an A/B test that's set to auto-pick a winner before sending to the rest of the audience, you'll briefly see Processing again at the "pick winner" step before the main send begins.
What to do: This is expected. Just wait — the pick-winner phase usually takes 5–15 minutes depending on test settings.
What you can't do once a send is in motion
- You can't cancel a send from the UI. Once status moves past Scheduled, the campaign is on the ESP side. If you absolutely need to halt one, contact support immediately — the only option is having engineering intervene with the ESP.
- You can't reorder recipients. Delivery order is controlled by the ESP, not Letterhead.
- You can't edit the letter mid-send. The content was rendered and handed off at the start of Processing; later edits won't affect what's being delivered.
Still stuck?
If you've worked through the causes above and a letter has been on Processing or Sending without progress for more than 30 minutes:
- Note the letter's Unique ID (visible in the channel's Newsletters list), the channel slug, and the time you scheduled it for.
- Take a screenshot of the metrics view showing the current Sent / Delivered / Bounces numbers.
- Contact support with that information. Engineering can look at the job queue, check the ESP campaign on their side, and either retry the status update or escalate.