# Why was an email not sent?

> A due email did not go out — the four cause groups (account, limits, schedule, contact state), the Log tab as the error surface, and how to confirm the fix.

**Most non-sends trace to four cause groups: a disconnected email account, a reached limit (account daily, sequence daily, or the trial's 300 unique contacts), a closed schedule window, or a contact who is not Active. Check the sequence Logs tab first — it names the exact error — then the connection dot, today's limits, and the schedule.**

_Status: Reviewed — human-edited, facts not yet confirmed against the product._

## Symptom

A step you expected to send has not. The contact sits on the step, the stats do not move,
and there is no obvious error in sight. Most of these causes are temporary, and each one
leaves a trace you can find.

## Most likely causes

| # | Cause | Where it shows |
| --- | --- | --- |
| 1 | The email account is disconnected — sending needs a well-connected mailbox (green dot next to the email) | Red dot in the sequence settings tab; `Email account disconnected` in the Log tab — see [Why was a mailbox disconnected?](/troubleshooting/mailbox-was-disconnected) |
| 2 | A limit is reached — the account's **Total number of emails** (400 per day on paid plans, 200 on trial), the sequence's **Max number of emails per day**, or the trial's 300-unique-contact limit | `Processing error: Max emails per account` or `Processing error: Max unique contacts per month` in the Log tab; a notification when you hover over the toggle — [Limits](/reference/limits) |
| 3 | The schedule window is closed — the sequence sends only within working schedule hours, and schedules run on UTC without Daylight Saving Time | The schedule linked to the sequence — [When Reply sends](/behavior/sending-schedules) |
| 4 | The contact is excluded — the system sends only to **Active contacts with valid emails**; Paused and Finished contacts get nothing, and contacts can also sit in a step delay or throttling | The contact's status and current step in the People tab — [Statuses](/reference/statuses) |
| 5 | Contacts have no sending email assigned — after deleting an active sending email or swapping accounts, its contacts are not reassigned automatically | An error notification over the sequence toggle — [Mailbox selection](/behavior/mailbox-selection) |
| 6 | The sending step stopped because the sequence reached an 8% bounce rate with 200 or more emails sent that day | Red toggle; the step resumes the next day — [Bounce handling](/behavior/bounce-handling) |

## Diagnostic checklist

1. Open the sequence's **Logs** tab first. Before sending, Reply checks that the email account is linked and set up correctly, prospects are active, the LinkedIn account is linked, and the selected and follow-up schedules are valid — if any check fails, the sequence does not start and writes an error log naming the problem.
2. Check the connection dot next to each sending mailbox in the sequence settings tab: green means connected, red means reconnect.
3. Compare today's counts against every limit: the account's **Total number of emails** (Settings, Email Accounts, mailbox, Safety), the sequence limit shown in sequence settings and next to the toggle, and — on trial — the 300 unique contacts cap shown when you hover over the toggle.
4. Confirm the schedule linked to the sequence is open right now, in its sending timezone. If it is closed, sending waits until it opens the next day.
5. Open the specific contact: status must be Active with a valid email, an assigned sending email, and no pending step delay or throttling.
6. Mind the timing: after a first launch it can take 20-40 minutes to start sending even when everything is set. Reply processes sequences every 10 minutes; if a processing run hits errors, emails wait for the next run.

## Resolution

Disconnected account — [reconnect it](/troubleshooting/mailbox-was-disconnected), then
restart the sequence. Limit reached — raise the cap deliberately (account Safety settings
or sequence settings) or wait for the daily reset; see
[Configure sending limits](/how-to/configure-sending-limits). Closed schedule — update it
or wait until it opens the next day. Excluded contact — usually correct behavior, not a
bug; reactivate only if you mean to (People tab, Change Status, add Active). Unassigned
contacts — filter the People tab for Unassigned and link a sending email. Bounce-rate
stop — the step resumes automatically the next day; validate your list to keep it from
repeating.

## Verification

After the fix, let the next processing run pick the sequence up — runs happen every 10
minutes, and a first launch can take 20-40 minutes before emails go out. Then check the
Log tab for a fresh `Sequence started` entry (the log itself advises waiting about 30
minutes before checking results) and confirm the send in the contact's activity.

## Prevention

Turn on **Send reports on sequence errors** (Settings, Emails, Email notifications): Reply
then emails you about errors such as "Daily limit per sequence reached", "Daily limit per
email account reached", "Monthly limit for unique contacts reached", "No email account
connected to an active sequence", "Invalid email account credentials", "SMTP/IMAP errors",
and empty contact fields used as template variables. Keep a delivery window of at least
2.5-4 hours so all emails have time to send, and validate lists before launch to stay
clear of the bounce thresholds.

## FAQ

### How long after launch should the first email go out?

Allow 20-40 minutes after a first launch. Reply processes sequences every 10 minutes in
two stages — a checkup of settings and inbox replies (up to 20 minutes), then the actual
sending (around 20 minutes). If the checkup finds errors, sending waits for the next
processing run.

### The step sent for some contacts but not others — why?

Per-contact state is the usual reason: the system sends only to Active contacts with valid
emails, so Paused, Finished, or bounced contacts are excluded while the rest proceed. Some
contacts may also still be in a step delay or throttling. Check each missing contact
against [Statuses](/reference/statuses).

### The email shows sent but never arrived — same problem?

No — that is delivery, not sending. Check the spam folder, the recipient address, and the
Delivery Status Notification in the sending mailbox, and confirm your authentication setup
([SPF, DKIM, DMARC](/learn/spf-dkim-dmarc)). See [Deliverability](/capabilities/deliverability).

## Related

- [Why is a campaign not running?](/troubleshooting/campaign-is-not-running) — the sequence-level variant
- [When Reply sends](/behavior/sending-schedules) — schedule windows and timezones
- [Sequence execution](/behavior/sequence-execution) — throttling and step delays
- [Bounce handling](/behavior/bounce-handling) — the 4% and 8% thresholds
- [Limits](/reference/limits)

## Build with Reply

- REST API: [docs.reply.io](https://docs.reply.io/api-reference/introduction) — inspect sequence, account, and contact state
- MCP: [agents.reply.io/mcp](https://agents.reply.io/mcp) — includes a diagnose operation for exactly this class of question
