Skip to content
Docs

Troubleshooting

Why is my email stuck in Accepted or Scheduled?

Accepted emails normally leave within seconds and scheduled ones at their send time. Find out what delays them and when to cancel, reschedule or resend.

Updated Oct 1, 2026

This article helps when an email stays in Accepted or Scheduled longer than you expect. Both statuses mean Emailit has the email and hasn’t finished a delivery attempt yet.

Symptoms

  • An email shows Accepted (“Accepted for delivery”) for many minutes.
  • A scheduled email shows Scheduled after the time you expected it to go out.
  • The Deliveries tab on the email page is empty, or shows an internal error entry.

Cause

Accepted emails are queued and normally sent within seconds. They stay longer when:

  • A delivery attempt hit an internal error. The Deliveries tab shows An internal error occurred while sending this email. This message will be retried automatically. The email keeps its status and is retried with growing delays.
  • Emailit is processing a backlog or an incident. Check status.emailit.com.

Note that a temporary refusal from the recipient’s server shows as Attempted, not Accepted. See What does the Attempted status mean?.

Scheduled emails wait until their scheduled_at time, then go out within seconds. They go straight from Scheduled to Delivered, or another final status, without passing through Accepted. A scheduled email that seems late is usually:

  • Scheduled for a different time than you meant. A time without an offset, or a phrase like “tomorrow at 9am”, can be read in a different time zone than yours.
  • Delayed by the same internal errors as above.

Fix

  1. Check the times on the email. Open it in Email APIEmails. The summary shows when it was created and, for scheduled emails, when it’s scheduled. Switch between UTC and local time in the user menu under Timezone to compare.

  2. Read the Deliveries tab. If it shows an internal error, Emailit retries on its own. You don’t need to resend, and resending creates a duplicate.

  3. Use explicit time zones. Send scheduled_at as ISO 8601 with an offset, such as 2026-10-02T09:00:00+02:00, or as a Unix timestamp. The API response returns the parsed scheduled_at, so log it and compare. See Scheduling.

  4. Reschedule or cancel if needed. Call Update a scheduled email with a new scheduled_at, or select Cancel delivery on the email page. Both only work until 3 minutes before the scheduled time, and the new time must be at least 3 minutes ahead.

  5. Check for an incident. If many emails are stuck at once, check status.emailit.com before you resend anything.

To follow emails in real time, subscribe a webhook to email.delivered, email.attempted and email.bounced. For every status, see Email statuses.

Still stuck?

If an email stays Accepted for more than an hour with no incident posted, contact support or ask in Discord with the email ID (em_…).

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.