Skip to content
Docs

Concept

How Emailit handles hard and soft bounces, retries temporary failures, processes late bounces and spam complaints, and suppresses addresses automatically.

Updated Oct 1, 2026

When a message can’t be delivered, or a recipient marks it as spam, Emailit records what happened, updates the email’s status and, in most cases, stops you from mailing that address again. This page explains each kind of failure, the retry schedule and the automatic suppression rules.

Hard and soft bounces

Emailit sorts each failed delivery attempt by the receiving server’s reply.

Type Typical replies What Emailit does Status
Hard bounce (permanent) 550 mailbox unavailable, 551 user not local, 553 mailbox name not allowed, 554 transaction failed Stops trying. bounced
Soft bounce (temporary) 421 service not available, 450 mailbox busy, 451 local error, 452 insufficient storage, timeouts, connection errors Retries later. attempted

Some temporary 4xx replies describe a mailbox that won’t accept mail, such as “mailbox full”, “over quota” or “account disabled”. Emailit recognizes common wording like this and treats it as a hard bounce. Unknown errors are treated as temporary and retried.

For what each code means, see SMTP reply codes and Bounce categories. The full reply for each attempt is on the email’s Deliveries tab in Email APIEmails.

Retries

After a temporary failure, Emailit retries with a growing delay. A message gets up to 7 attempts over about 21 hours:

After attempt Next try in
1 10 minutes
2 20 minutes
3 40 minutes
4 80 minutes
5 160 minutes
6 320 minutes
7 640 minutes, then Emailit stops and bounces the message

While it’s retrying, the email’s status is attempted and each failed try fires an email.attempted event with the receiver’s reply. If the last attempt also fails, the email becomes bounced with the note “Maximum number of delivery attempts (7) has been reached” and the address is suppressed.

Back-off when receivers push back

If a provider rate-limits one of Emailit’s sending IPs (a 451 reply about too many messages), Emailit pauses delivery from that IP to that provider for 5 minutes. If the provider blocks the IP (550 5.7.1), it pauses for an hour. Affected messages stay attempted and go out when the pause ends, so you don’t need to do anything.

Late bounces

Some servers accept a message and only report later that they couldn’t deliver it. They send a delivery status notification (DSN) to the message’s return path, emailit.<domain>, which is why that MX record is required. Emailit matches the report to the original message, changes its status to bounced, fires email.bounced and suppresses the address.

Complaints

When a recipient selects Report spam, many mailbox providers send a report back to the sender through a feedback loop. Emailit receives these reports in the standard ARF format and in Outlook’s JMRP format, matches them to the original message, then:

  • sets the email’s status to complained,
  • fires email.complained,
  • adds the address to your suppression list with type complaint.

Gmail doesn’t send individual complaint reports to senders. To see your Gmail spam rate, use Google Postmaster Tools. Keep your complaint rate under 0.1%, and never let it reach 0.3%.

Statuses and events

Status Event Meaning
attempted email.attempted A temporary failure. Emailit will retry.
bounced email.bounced A permanent failure, a late bounce, or all retries used.
complained email.complained The recipient reported the message as spam.
suppressed email.suppressed Not sent, because the address is on your suppression list.

bounced, complained and suppressed are final: a later event doesn’t change them. See Email statuses for the full list.

Automatic suppression

Emailit adds an address to your suppression list in these cases:

Trigger Suppression type Reason
A late bounce report (DSN) arrives recipient bounce
All 7 delivery attempts fail recipient too many soft fails
A second hard bounce to the same address within 24 hours recipient too many bounces
A spam complaint arrives complaint complaint

A single immediate hard bounce doesn’t suppress the address on its own. A second one within 24 hours does.

What each type blocks:

  • recipient blocks every send to the address: API, SMTP, campaigns and automations. The email gets the status suppressed instead of being sent.
  • complaint stops campaigns from sending to the address. Transactional email through the API and SMTP still goes out, so receipts and password resets keep working.

When a message to an address is delivered successfully, Emailit removes that address’s recipient suppression. See Suppressions for how suppressions work and how to remove one.

Choose what gets suppressed

On Pro and Business, workspace admins can change automatic suppression in WorkspaceSettings on the Suppressions tab:

Setting Options
Enable automatic suppression On (default) or off.
Suppress on Bounces and Complaints (default), Bounces only or Complaints only.

On other plans, automatic suppression is always on for bounces and complaints. The controls are visible but locked.

Pay as you goProBusinessCustom
Configurable automatic suppression—IncludedIncluded—

Bounce-rate thresholds

Bounces feed into your sending health score. Emailit measures the share of unique recipients that bounced over the last 7, 30 and 90 days:

Bounce rate Effect
Under 2% Healthy. Pro and Business can get automatic limit raises.
2% to 4% Healthy, but no automatic limit raises.
Above 4% At risk.
Above 5% on a domain The domain is paused.
6% or more on the workspace The workspace is suspended.

See Sending health for how the score is calculated and how to recover.

View, add, import and remove suppressions.
Catch bad addresses before you send.
What each reply code means.
How bounces are grouped.

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.