All posts

Email Bounces in My Sending Tool but Works When I Send It Manually

··6 min read

If an address bounces from your sending tool but delivers when you email it by hand, read the bounce message before you decide anything. A message saying no such user means the address is bad, and your manual email probably went to a catch-all or has not bounced yet. A message about policy, reputation, spam or authentication means the address is fine and the receiving server is refusing your sending domain or pattern. SimpleVerifier checks the address half of this for $39 a month on Pro: the first 100,000 checks a month at full speed, then slower, never cut off, with 100 free checks to try.

Why the two sends are not the same test

When you email someone by hand from your inbox, a receiving server sees one personal message. When your sequencer sends, it sees something different:

  • A sending domain with its own history. Cold email domains are often new or low-volume, and servers weigh that. See domain, IP or mailbox reputation.
  • A pattern. Many similar messages to many recipients at one company or provider can trip rate or content filters that a single message never meets.
  • Different authentication paths. Your sequencer may send through a different mailbox, a connected SMTP service or a tracking domain, each with its own SPF, DKIM and DMARC.
  • Tracking links and images. A custom tracking domain that is misconfigured or has a poor reputation can make a message look bad even when the mailbox and the sender are fine. See custom tracking domain for cold email.
  • Different sender. Your own inbox may have years of normal mail behind it. The cold email inbox may not.

So a delivered manual email only tells you the address accepted one message from one sender. It does not say the next message from another sender will be accepted.

Why a manual send can mislead in the other direction

No bounce does not mean delivered. Some domains accept every address at the door, then discard or reject later. Others deliver to a mailbox nobody reads. See what is a catch-all domain and emails not delivered, no bounce.

If your tool shows a bounce for an address and your hand-sent test did not, that does not make the tool wrong. The bounce arrived because the server rejected the message in a way your inbox test did not trigger, or because the manual message is sitting somewhere unseen.

What to do in the next hour

  1. Open the bounce message. The code and text at the end say who is refusing what. Paste it into the bounce message analyzer or the bounce doctor.
  2. Classify. No such user or domain not found: address problem. Policy, spam, blocklist, reputation, DMARC: sender problem. Temporary or deferral: wait and watch. See SMTP deferral versus bounce.
  3. Check how many are affected. One address, a handful at one company, or a lot at one provider? The bounce domain hotspot finder shows the cluster.
  4. Stop sending to that cluster until you know the cause.
  5. Check your own authentication. Confirm SPF, DKIM and DMARC are correct for the domain the tool sends from, see monitor sending domains' SPF, DKIM and DMARC.

Step-by-step fix

If the message says the address is bad:

  1. Remove the address and suppress it. See cold email suppression lists.
  2. Verify the rest of the list from the same source on the verify page or the CSV email verifier. If one lead was dead, others from the file are likely too.

If the message names your sender:

  1. Do not resend the same message at the same volume to the same provider.
  2. Reduce volume to that provider, correct the authentication or tracking-domain issue the message points to, and send a small batch.
  3. Follow restarting sending after a block if the refusal repeats, and read sender reputation recovery if the domain's standing has taken damage.
  4. Check provider-specific codes: Gmail bounce codes, Outlook bounce codes and Yahoo bounce codes.

If the message is a temporary failure: let the tool retry, and watch whether the same address fails across several sends before treating it as dead. See soft bounce handling.

Prevention: verify before every send

A hand test is one data point from one sender. Verification is a systematic check of every address before it enters your tool, so the bad-address half of the problem is gone before it costs a send. The sender half remains yours: keep authentication correct, keep volume steady per inbox, and track the day's bounce number in the daily bounce rate tracker.

Verified addresses can still bounce, because a sender-side refusal is not an address problem. See verified emails still bouncing for what verification does and does not cover.

A worked example

You find a prospect, email them by hand from your own inbox, and nothing bounces. Later the sequencer sends the first step to the same address from a cold email domain, and a bounce comes back. It is tempting to conclude the tool is wrong.

Read the bounce message. If it says the recipient could not be found, the manual email probably did not bounce yet or landed on a catch-all, and the address is bad. If it says the message was refused because of the sending domain's reputation, or because DMARC or SPF failed for the sequencer's sending path, the address may be perfectly fine and the cold domain is what the receiving server dislikes. Your own inbox, with a long normal history, passed the same server without trouble.

The two readings call for opposite actions: one removes a lead, the other repairs a sender. The bounce message is the only reliable way to tell them apart.

Mistakes to avoid

  • Treating a manual send as verification. One accepted message from one sender is not a mailbox check.
  • Re-adding the lead to the campaign after a manual success without reading the bounce.
  • Testing from your personal inbox to diagnose a cold domain. It tests a different sender, and the result does not transfer.
  • Assuming the fault is always on one side. A list can have both bad addresses and a sender with problems at the same time.

How to test properly

If you want to know whether an address is valid, run it through a mailbox-level check rather than sending a test message. If you want to know whether your sending domain is accepted by a provider, send a small controlled batch from that domain to addresses you own at that provider and read what happens, rather than relying on your personal inbox. Keep the two tests separate: one is about the recipient, the other is about you.

What it costs

SimpleVerifier Pro is $39 a month. The first 100,000 checks a month run at full speed, then slower, never cut off. You can try 100 free checks first, no card. See pricing.

Bottom line

A manual email that arrived does not clear an address that bounced from your tool. Read the message, split address problems from sender problems, remove and verify for the first, and slow down and repair for the second. Try the 100 free checks on the rest of the list the lead came from.

Common questions

Why does an email bounce from my sequencer but not from Gmail?

Your sequencer sends many similar messages from a domain with a particular reputation and authentication setup. The receiving server may accept one personal message and refuse bulk-pattern mail from a sending domain. Read the bounce message to see which.

If a manual email did not bounce, is the address valid?

Not necessarily. A catch-all domain accepts mail for any address, and some servers bounce later or discard silently. No bounce does not prove a person read it.

What does the bounce message tell me?

It separates a bad address (no such user) from a sender problem (policy, spam, reputation, authentication). The fix is different for each.

How do I check a lead before the tool sends?

Verify the address with a mailbox-level check. SimpleVerifier Pro is $39 a month, with the first 100,000 checks a month at full speed, then slower, never cut off. You can try 100 free checks, no card.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.