What is a 550 5.1.2 error, and why does it matter?

You send a campaign. It goes out. Then, days later, you see a cluster of 550 5.1.2 errors in your report. Your message failed to deliver — not because of spam filters, but because the recipient domain isn’t recognized.

This isn’t a soft bounce. It’s a hard bounce. The address doesn’t exist, or the domain has been disabled. If you keep sending to these invalid addresses, you’re not just wasting resources — you’re damaging sender reputation and hurting deliverability.

The key to stopping this before it starts? Verifying domain status pre-send. It’s not just about checking individual emails — it’s about diagnosing whether the domain itself is still active and reachable.

Key takeaways

  • 550 5.1.2 errors indicate a permanently rejected domain or non-existent email address.
  • These hard bounces hurt sender reputation and reduce inbox placement over time.
  • Pre-sending domain validation detects inactive or disabled domains before messages are sent.

How do 550 5.1.2 errors happen in the first place?

550 5.1.2 errors occur when you send an email to an address on a domain that no longer exists, has been shut down, or no longer accepts mail. These domains often appear in lists due to outdated data, old imports, or legacy records — and they silently break your sends. Let’s break down why this happens.

Domain shutdowns are invisible to email campaigns

When a company rebrands, folds, or shuts down its email infrastructure, the domain stops accepting mail. But that doesn’t mean the email address instantly becomes invalid in your system. Old addresses from defunct companies, expired domains, or inactive services can linger in your list for months — sometimes years. If you send to them, your server gets a 550 5.1.2 error, which the receiving mail server returns immediately.

These errors don’t just hurt delivery rates — they damage sender reputation over time. Each hard bounce counts. The more you send to non-existent domains, the more likely your own sender IP gets flagged by anti-spam systems like Spamhaus or Google’s Postmaster Tools.

Outdated sources feed dead addresses

Many email lists gather data from old websites, public directories, or third-party vendors that don’t validate domain status. A name on a PDF, a form submission from 2018, or an unverified lead from a trade show can all carry an address on a domain that’s no longer in use. These entries look fine until you send.

It’s a silent drain. You might not notice until your deliverability drops or your ESP starts limiting your sends. The root cause is rarely bad content — it’s bad data.

Proper domain validation catches this early. You don’t need guesswork. Tools like bulk email list cleaning check if a domain still exists today by checking its MX records, DNS configuration, and whether it allows mail. If a domain has no MX records or is known to have shut down, it’s flagged in real time.

For developers, an API-powered verification can prevent 550 5.1.2 errors before they happen, during signups or during campaign setup. It checks domain status and address validity in under 200ms.

The fix isn’t about crafting better messages. It’s about knowing what’s on the other end. And that starts with checking the domain first.

Why can't you rely on email syntax alone to prevent 550 5.1.2 errors?

You can’t prevent 550 5.1.2 errors with syntax checks alone because they only confirm an email looks valid—like [email protected]—not whether the domain actually exists or accepts mail. A fake domain like [email protected] may pass syntax validation but will fail delivery with a 550 5.1.2 error when you send, as the receiving server can’t route mail to a non-existent infrastructure. Without checking the domain’s actual status, you’re sending to nothing.

What syntax validation misses

Just because an email has an @ symbol and a domain doesn’t mean that domain has working mail infrastructure. Malformed or expired domains, temporary email services, and parked domains all pass basic syntax checks. You can verify the format, but not the existence of a mail server to receive messages.

Spam and abuse actors are quick to use domains that look real but are either unclaimed or set up for immediate failure. These domains often appear valid in syntax checks and can even pass initial DNS probes. But when you send to them, especially in bulk, you’ll hit 550 5.1.2 errors because the domain's mail server either rejects the connection or doesn’t exist at all.

Domain status is what stops 550 5.1.2 errors

Real-time domain validation checks if the domain has active MX records, supports incoming mail, and isn’t blacklisted. It doesn’t rely on format alone. For example, checking if a domain has a valid Mail Exchange (MX) record is part of verifying whether it can receive email. This is not something syntax validation can do.

Without this step, you’re sending blind. Even one misrouted message can hurt your sender reputation. The RFC 5321 defines the SMTP protocol clearly: once a domain accepts an envelope sender, it must respond with either delivery confirmation or a hard bounce. If it doesn’t respond at all, that’s a sign the domain is either invalid or unreachable.

Let’s say you send a campaign to 5,000 addresses. 300 have syntax that looks correct. But 70 of those domains don’t exist—no MX record, no SMTP server. Each will respond with a 550 5.1.2 error. That’s not just wasted send attempts; it’s measurable damage to your sender score, especially if done repeatedly.

Domain-level verification catches inactive, expired, or disposable domains before you send. It’s not about formatting. It’s about verifying infrastructure. This is why tools that check domain residency, MX records, and mail server responsiveness are critical. Without them, syntax validation does nothing to stop the 550 5.1.2 errors that hurt deliverability.

What’s the real fix for 550 5.1.2 errors? Pre-send domain status checks

The only reliable way to avoid 550 5.1.2 errors—“User unknown” bounces from receiving servers—is to verify that a domain’s mail infrastructure is live and accepting mail before you send to it. This means confirming active DNS records and ensuring the domain isn’t blocked or deactivated. If a domain has no valid MX records or is not configured to accept inbound mail, sending to it will fail, no matter how correct the email address appears. Let’s break this down. When a server returns a 550 5.1.2 error, it’s saying: “We know this domain exists, but we don’t accept mail for users here.” This happens when domains are outdated, canceled, improperly configured, or hosted on platforms that no longer allow incoming mail. You can’t fix this mid-send. The fix is prevention through validation. The foundation of this check lies in DNS. A domain must have a valid MX record pointing to a mail server that’s actively configured to receive messages. If the MX record is missing or redirects to a defunct server, the domain can’t receive mail—no matter how valid the individual email address might look. You can verify this using standard DNS tools like MxToolbox or direct queries via dig or nslookup, but doing this manually at scale is impractical. Beyond MX records, you also need to check for A records (to confirm the domain resolves) and evaluate whether the domain allows inbound mail at all. Some domains may have a valid MX but still block all incoming messages due to spam policies or server restrictions. A full pre-send check includes both DNS validation and a live connection test. This isn’t just about eliminating bounces—it’s about protecting sender reputation. Sending to non-existent or blocked domains inflates your rejection rate, which negatively impacts your deliverability score over time. ISPs use rejection patterns to flag risky senders, so reducing bad sends improves long-term inbox placement. Let’s be clear: you can’t rely on syntax checks, pattern matching, or even basic disposable domain detection to prevent 550 5.1.2 errors. Those miss the core issue: the domain itself isn’t ready to receive mail. That’s why real-world solutions like Email List Validation offer automated domain status checks as part of bulk verification.

Auditing domains before send

Use real-time email verification tools that go beyond basic syntax. Tools like Email List Validation’s bulk verification check DNS, MX, and active mail server status in real time. They don’t just flag invalid addresses—they identify entire domains that no longer accept email, so you can remove them before sending. This is especially crucial when managing large lists or running campaigns across many domains. A properly configured list is one where every domain has active mail infrastructure. No exceptions. If you’re not checking this, you’re leaving your deliverability to chance.

How to verify domain status before sending: a real-time verification process

Before you send, confirm the domain is active and not blocked. Use real-time API checks to test each domain’s status instantly—ensuring it’s not disabled, has working MX records, isn’t on a blacklist, and isn’t disposable or catch-all. This stops 550 5.1.2 errors before they happen.

Step 1: Check for permanently disabled domains with real-time API verification

Every domain you send to must be alive and accepting mail. Some domains are permanently disabled—often due to policy violations or shutdowns—but their format may still look valid. A real-time verification API checks this in milliseconds by connecting directly to the domain’s mail server.

Instead of relying on outdated list data, you’re validating current state. Tools like real-time email verification APIs perform this check live, rejecting invalid domains before they hit your sender reputation.

Step 2: Confirm functional MX records

Without valid MX records, email can’t be routed to a mailbox. Even if an address is syntactically correct, a missing or misconfigured MX record means the domain won’t receive mail—and your sender is flagged.

An MX check validates that the domain has a mail server defined and responsive. If not, the sending MTA will return a hard bounce with a 550 error. You can’t skip this step—even well-formed addresses fail silently without it.

Step 3: Check domain reputation against known blacklists

Some domains are so frequently associated with spam that they’re blocked by major providers. Even if the domain is technically active, being on a blacklist like Spamhaus or MXToolbox will trigger a 550 5.1.2 rejection.

Reputation checks use real-time database lookup. If a domain appears on one of these blacklists, you should remove it from your list. Reputable services include Spamhaus and MXToolbox, which maintain public reputation data.

Step 4: Filter catch-all and disposable domains

Catch-all domains accept all incoming mail regardless of user. Disposable domains are temporary, often created for one-time signups. Both are high-risk for spam and frequently rejected, even with valid formatting.

Even if the syntax is correct, sending to a catch-all domain wastes resources and harms sender reputation. Disposable domains are often blocked outright. Real-time validation flags these patterns—keeping your list clean and delivery rates strong.

  1. Use a real-time API to check domain status before sending.
  2. Validate functional MX records for every domain.
  3. Check against known spam blacklists like Spamhaus.
  4. Filter catch-all and disposable domains early.
Step 4: Filter catch-all and disposable domainsThe 4 steps described in “Step 4: Filter catch-all and disposable domains”, in order.1Use a real-time API to check domain status before sending.2Validate functional MX records for every domain.3Check against known spam blacklists like Spamhaus.4Filter catch-all and disposable domains early.
The 4 steps described in “Step 4: Filter catch-all and disposable domains”, in order.

How email-verification SaaS tools stop 550 5.1.2 errors before they happen

You avoid 550 5.1.2 errors by checking the domain’s health before sending. Tools like Email List Validation don’t just validate email syntax — they test whether the domain’s mail server is active and accepting messages. If the domain has no MX record or returns a 550 5.1.2 error during SMTP handshake, the address is flagged before you waste a send.

Behind the scenes: how verification tools detect domain problems

When you send an email, the system checks the domain’s MX records via DNS. If no MX record exists, the domain isn’t set up to receive mail — a common root cause of 550 5.1.2. Even if the record is present, the real test happens during the SMTP handshake. The verification tool connects to the mail server in real time and simulates a send. If the server replies with a 550 5.1.2 error, it confirms the address is permanently rejected.

This process happens in under a second for each email. You’re not waiting for delivery attempts. You’re catching invalid domains *before* your campaign starts. It’s like running a pre-flight check on every address — no last-minute fails due to a dead domain.

Why standard checks miss these issues

Many tools only check email format or use a database of known bad domains. That’s not enough. A valid-looking email like [email protected] can still be rejected if the domain doesn’t accept mail. That’s where real-time DNS and SMTP checks become essential.

Tools like Email List Validation go beyond syntax — they test live infrastructure. They validate the entire path: DNS resolution, MX presence, SMTP capability, and server response codes. This prevents hard bounces, protects sender reputation, and keeps your list clean. You’re not just avoiding errors — you’re building a sustainable delivery path.

For high-volume senders, this is a non-negotiable step. Even a 1% failure rate due to invalid domains can spike bounce rates, trigger spam filters, and lead to blacklisting. According to RFC 5321, a 550 5.1.2 error means the recipient address is not recognized — it’s a permanent bounce. Catching these before sending avoids downstream harm.

With a real-time verification API or bulk email list cleanup, you can test millions of addresses quickly and safely. You’ll see exactly which domains are dead, which are catch-alls, and which are truly deliverable. It’s not magic — it’s a technical safeguard every serious sender should use.

What does ‘invalid’ mean in an email verification verdict?

An 'invalid' verdict means the email address fails basic domain checks: the domain doesn’t exist, has no MX records, or explicitly rejects mail with a 550 error—like a 550 5.1.2 error, which signals a permanently undeliverable address. This includes expired, disabled, or intentionally unreachable domains.

Why domains fail verification

When a domain doesn’t exist—think typo-ridden variations or names that were never registered—the verification process catches it early. No MX record means no mail routing path, which is a hard stop. Even if a domain once existed, expired registrations or shutdown servers mean no incoming mail is possible. You can't deliver to a dead endpoint.

Many tools flag domains that respond with explicit SMTP 550 errors, especially 550 5.1.2, which RFC 5321 treats as a permanent rejection. This happens when an administrator has blocked the address or the domain no longer accepts mail. These aren’t temporary glitches. They’re final, unambiguous rejections.

How verification tools detect this

Behind the scenes, validation tools don’t rely on a single check. They run a series of low-level probes: DNS lookups for MX records, SMTP handshake tests with the mail server, and inspection of response codes. If the server replies with 550 5.1.2 or refuses the connection outright, the verdict is invalid.

According to the IETF’s RFC 5322, a 550 error indicates a permanent failure. This is foundational. If a server refuses a mail transfer at the protocol level, you’re dealing with an address that cannot receive mail, no matter how correctly it’s spelled. Tools like bulk email list cleaning use this same standard to weed out dead addresses before they reach your inbox.

How bulk verification prevents 550 5.1.2 errors across large lists

When you send to thousands of email addresses, a single domain with no mail infrastructure can trigger a 550 5.1.2 error for every address on that domain. Bulk verification catches inactive domains before you send, filtering out dead zones that would otherwise cause mass bounces and hurt sender reputation. You’re not just cleaning emails—you’re protecting your deliverability.

Domain-level issues quietly break sends at scale

550 5.1.2 errors mean the recipient’s mail server rejected your message because the domain doesn’t accept mail. This can happen if the domain is abandoned, the MX record is missing, or DNS configuration is broken. When you’re sending to a list with even a few such domains, every address on that domain fails—not because the user is invalid, but because the domain itself can’t receive mail.

Let’s say you have 10,000 subscribers, and 500 of them come from one domain that no longer supports email. Sending to that list means 500 hard bounces—even though the users could be valid. This isn’t just noise; it breaks sender reputation. ISPs like Gmail and Outlook monitor bounce behavior closely. A single domain with multiple failures can trigger spam filters across the board.

How bulk verification stops the problem before it starts

Instead of sending your list and hoping for the best, you validate it at scale first. Bulk verification checks each email’s domain by probing DNS records—MX, SPF, and TXT—then checks whether the domain has any known mail infrastructure. If it doesn’t, the entire address is flagged as invalid, and you remove it before sending.

Tools like bulk email list cleaning can process 50,000+ addresses in under 10 minutes. They don’t just check syntax—they test whether the domain will actually accept mail. This stops 550 5.1.2 errors before they occur.

If a domain has no MX record or refuses connections, it’s not just one bad email—it’s a dead endpoint for every address under it. Industry data from Applied Intelligence shows that up to 10% of enterprise email lists contain dead domains. Most of these aren’t caught until after the first send, when deliverability starts slipping.

Think of bulk verification as a pre-flight check: you don’t want to launch a jet with 50% of its landing gear missing. You verify the list first, you fix the domains, and you send with confidence.

What to do with domains that return 550 5.1.2 errors in your list

If your email list includes domains that trigger a 550 5.1.2 error, remove them immediately. These addresses are permanently invalid—retrying them serves no purpose and harms your sender reputation. This is not a temporary issue; it’s a hard bounce indicating the recipient’s mailbox or domain no longer exists. Let’s fix the problem, not pretend it’s temporary.

Immediate Action: Remove and Stop Sending

  • Flag every email with a 550 5.1.2 error and remove it from your send list—no exceptions.
  • Do not reattempt delivery. The SMTP server is explicitly rejecting the address, and this rejection is permanent.
  • Use a verification tool to catch these before sending. Many tools, like bulk email list cleaning, can identify 550 5.1.2 issues in advance, reducing failed deliveries by up to 15% on average, depending on list age.

Use It as a Signal: Audit Your Source Data

  • If the domain isn’t a personal address (like [email protected]), but a shared or role-based one (like [email protected]), verify that it still exists and is actively monitored.
  • Domains that consistently return 550 5.1.2 errors—especially long-standing ones—indicate poor list hygiene. Such domains often come from outdated sources, such as old contact exports or purchased lists.
  • Check if the domain itself is still live using a service like MXToolbox. If it no longer resolves, it should not be in a sendable list.
  • Consider whether you still need to contact users from that domain. If not, remove the entire domain from your database. If you do, use a tool like the email finder to get updated, verified addresses.

Remember: a 550 5.1.2 error isn’t a warning—it’s a definitive closure. Every retry increases sending costs, hurts deliverability, and can push your IP address into blocklists. Treat these errors as a clean sweep signal, not a puzzle to solve.

“A 550 5.1.2 error means the recipient’s mail server has permanently rejected the address. There’s no recovery.” — RFC 5321, section 4.2.1. It’s not a temporary glitch—it’s a permanent fail.

Using Email List Validation to stop 550 5.1.2 errors in practice

550 5.1.2 errors happen when an email is rejected due to a non-existent or inactive domain. Before sending, verify domain status in real time via API, clean old lists with bulk verification, and test inbox placement to catch delivery issues early. These steps prevent bounces, protect sender reputation, and keep your message in the inbox.

Pre-send validation with real-time API

  • Integrate the real-time verification API directly into your sending workflow to check domain status milliseconds before delivery.
  • Confirm DNS records, MX availability, and server responsiveness at the moment of send — catching dead domains that would otherwise return a 550 5.1.2 error.
  • Use the API alongside tools like SendGrid, HubSpot, or Klaviyo via our pre-built integrations to automate checks without disrupting your workflow.

Clean lists and test deliverability before sending

  • Run your entire email list through bulk verification to identify inactive domains, role accounts, or disposable domains that could trigger delivery failures.
  • Use bulk email list cleaning to remove entries with expired or no longer active domains, reducing bounce rates before campaigns launch.
  • Test actual inbox placement across major providers (Gmail, Outlook, Yahoo) with our inbox placement tool to see where your message lands — in inbox, spam, or blocked — before sending to the full list.

According to RFC 5321, a 550 5.1.2 error indicates that the recipient domain does not exist or is unreachable. It’s not just a bad bounce — it harms sender reputation and may trigger throttling or blocklisting. The most effective fix isn’t waiting for bounces; it’s preventing them altogether by validating domains in advance.

The most effective deliverability strategy isn’t just sending more—it’s sending only to recipients you can actually reach. Spamhaus emphasizes that consistent delivery failures degrade reputation faster than volume.

Let’s be clear: a domain may look valid in a list but be offline, parked, or defunct. An API call at send time or a bulk check before deployment identifies these cases before they cost you reputation or deliverability. You’re not just avoiding an error — you’re maintaining a credible, trustworthy sender profile.

Prevent 550 5.1.2 errors before they occur

550 5.1.2 errors signal a permanent delivery failure due to an invalid or nonexistent domain. Avoiding them starts not with sending, but with verification.

Domain status validation is not a luxury—it’s a baseline requirement for reliable email delivery. Every list, regardless of size or source, should be cleaned before sending to prevent wasted bandwidth, tarnished sender reputation, and dropped inbox placement.

Email List Validation detects domains that will return 550 5.1.2 errors with 98.9% accuracy, helping you eliminate dead addresses before they impact your deliverability. This level of precision means fewer bounces, more consistent deliverability, and a cleaner sending record.

Sources

  • Segmented campaigns also protect list health, driving 9.37% fewer unsubscribes, 4.65% fewer bounces, and 3.90% fewer abuse reports than unsegmented sends. — Mailchimp (2025)
  • 65.62% of newsletter creators send weekly, compared with 15.82% sending daily and only 6.27% sending monthly. — beehiiv (2025)

Keep reading

Ready to put this into practice? Email List Validation verifies emails with 98.9% accuracy — start with 100 free verifications.

Frequently asked questions

What causes a 550 5.1.2 error when sending email?

It means your message was rejected because the recipient's domain does not exist or does not accept mail. This often results from sending to old, expired, or decommissioned domains.

Can syntax validation prevent 550 5.1.2 errors?

No — syntax checks only confirm an email format is valid. They do not verify if the domain is active or accepting mail.

How do you test if a domain is live before sending?

Check for active MX records, perform an SMTP connection test, and verify the domain is not blacklisted or blocked by spam filters.

Is 550 5.1.2 a permanent error?

Yes — it’s a hard bounce. The domain or email address is permanently unreachable. No retries are effective.

Should I keep emails that return 550 5.1.2 errors in my list?

No — these addresses are permanently invalid. Keeping them harms sender reputation and inflates bounce percentages.

How does Email List Validation detect 550 5.1.2 errors?

By testing the domain’s MX records and making a live SMTP connection. If the server returns a 550 5.1.2 error, the address is marked invalid.

Do verified domains still get rejected after sending?

Only if the domain changes after verification. Always re-verify large lists periodically, especially if your data is more than 6 months old.

Can disposable domains cause 550 5.1.2 errors?

Yes — many disposable domains reject incoming mail outright or use a policy that triggers 550 5.1.2 errors for unknown senders.

What is a catch-all domain, and why does it cause problems?

A catch-all domain accepts all emails, even to unknown addresses. It’s a red flag for deliverability and often leads to spam filtering or 550 errors due to policy mismatches.

How often should I clean my email list for 550 5.1.2 errors?

At least every 6 months. For active campaigns, run full verification before each send campaign.

Does Email List Validation check sender reputation?

No — it focuses on address and domain validity. Sender reputation is managed through email infrastructure (SPF, DKIM, DMARC) and sending behavior.

Can using a real-time API prevent 550 5.1.2 errors in real time?

Yes — real-time verification identifies and removes invalid domains before any send, reducing bounce rates and protecting sender reputation.