Bounces are an unfortunate but inevitable part of sending email (especially mass email). When you send a message to a recipient and, for whatever reason, that message can’t be delivered, it bounces back to you.
And when that message does bounce back, the bounce notification will include a code telling you why it bounced.
If you bounce a significant number of messages, keep sending emails to an address that bounced, and/or repeatedly send email campaigns with bounces, you’re sending a signal to the email service providers and email clients you’re sending spam. (Or, at the very least, you’re not sending individual messages that people actually want.)
That can have a serious impact on your deliverability.
In this article, we’ll cover everything you need to know about email bounce codes: What they are, how they’re determined, a list of the common (and not-so-common) bounce codes you might encounter, how to handle bounced emails, and ways to cut down on bounces.
Email Bounce Codes: Table of Contents
- What Are Email Bounce Codes?
- Glossary of Email Bounce Codes
- Bounce Management: How to Handle Email Addresses That Bounce
- 4 Ways to Cut Down on Bounces
- Email Bounce Codes: Takeaways and Next Steps
What Are Email Bounce Codes?
Bounce codes are messages from a mail server to indicate why an email you sent was not able to be delivered.
Bounce codes indicate whether the failure was a “soft bounce” (meaning a temporary problem) or a “hard bounce” (meaning a permanent problem).
The codes also shed light on the specific problem, which can range from the user having a full mailbox to an email account that no longer exists.
Soft bounces vs. hard bounces
Soft bounces are emails that bounce for a temporary reason. For instance, the recipient’s mailbox might be full or there might’ve been an error with their mail server.
Hard bounces are emails that bounce for a permanent reason. For instance, the recipient’s mailbox no longer exists.
The general rule of thumb is to retry sending to addresses that soft bounce — and to stop trying to send to addresses that hard bounce on this campaign and in the future.
Your email service provider may handle bounce management for you. (For instance, at GMass, we automatically suppress your future messages to email addresses that have hard bounced.)
If not, you’ll want to manually remove those addresses from your list, as hard bounces are a major red flag to the email clients and can affect your deliverability.
Enhanced SMTP bounce codes vs. traditional SMTP bounce codes
Traditional SMTP bounce codes are three-digit numbers (e.g., 554) which indicate an email’s successful or unsuccessful delivery. If that delivery is unsuccessful, the codes give you insight into why they were unsuccessful.
For example, the status code
550 means a user’s mailbox was invalid.
Codes that start with a 4 (e.g.,
421) usually indicate a soft bounce; codes that start with a 5 (e.g.,
550) indicate a hard bounce.
The idea for enhanced SMTP bounce codes came about in 2003 as a way to more completely describe a mail system error. The group that proposed the enhanced codes wrote, “SMTP provides about 12 useful codes for delivery reports… each of the 12 useful codes are overloaded to indicate several error conditions.”
So enhanced bounce codes include three separate digits, separated by periods, which allows the bounce notifications to give more specific detail into why message delivery failed.
In the three-number enhanced codes, the first digit is the delivery class, where:
2.X.Xmeans successful delivery.
4.X.Xmeans temporary delivery issues (mostly soft bounces).
5.X.Xmeans permanent issues (mostly hard bounces).
The second digit indicates where in the process things went wrong. For instance, in
X.1.X, the 1 means there was an issue with the addressing.
X.2.X is a mailbox issue.
X.3.X is a mail system issue.
And the third digit gives even more detail about the specific issue. For instance, 5.1.1 means there was a bad destination mailbox address (in an [email protected] email, “name” was invalid).
So will you receive traditional bounce codes or enhanced ones when you send your messages? Today, you’ll largely see a combination of the two.
For instance, Google uses the traditional three-digit code to give a general overview of the issue, then uses the three-number enhanced code to elaborate.
In our glossary, we’ll mostly cover this modern format: Bounce notifications that combine the three-digit traditional reply codes with the three-number enhanced status codes.
Glossary of Email Bounce Codes
Here’s your guide to some of the most common email bounce codes you may encounter and what they mean.
Soft bounce codes (
These are soft bounce codes, generally indicating a temporary issue with the recipient’s mail server or mailbox. You can safely try to resend your messages to addresses that give you these bounce codes
421 4.3.0 Temporary system problem. Try again later.
421 4.4.2 Network connection timed out.
421 4.4.5 Server busy, try again later.
421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address.
421 4.7.0 Try again later, closing connection.
422 4.2.2 The email account is over quota.
441 4.4.1 Error encountered while communicating with primary target IP address.
450 4.2.1 The user you are trying to contact is receiving mail too quickly.
As a spam prevention measure, most of the major email clients cap how many emails a person can receive over a certain time frame. For instance, Google caps Gmail users at receiving 60 emails per minute, 3,600 per hour, or 86,400 per day.
450 4.2.1 The user you are trying to contact is receiving mail at a rate that prevents additional messages from being delivered.
450 4.2.1 Peak SMTP relay limit exceeded for customer.
451 4.3.0 Mail server temporarily rejected message.
451 4.3.0 Multiple destination domains per transaction is unsupported.
451 4.4.2 Timeout - closing connection
451 4.5.0 SMTP protocol violation.
452 4.2.2 The email account that you tried to reach is over quota.
Keep an eye on this address. It’s possible that even though the account still exists, the person isn’t monitoring the mailbox anymore. So while this is a soft bounce, if you continue to get soft bounces on messages to this recipient, you should probably remove them from your list.
452 4.5.3 Domain policy size per transaction exceeded.
452 4.5.3 Your message has too many recipients.
This error indicates you’ve exceeded your daily sending limits with Gmail. (Which are up to 500 emails per day for a free Gmail account and up to 2,000 emails per day for a paid Google Workspace account.)
We’ve covered Gmail limits extensively here at GMass — because we’re one of the only Gmail-based email services that allows you to break through those limits. Here’s more about how to send virtually unlimited emails through Gmail.
454 4.5.0 SMTP protocol violation, no commands allowed to pipeline after STARTTLS.
454 4.7.0, Cannot authenticate due to temporary system problem.
Hard bounce codes (
These are some of the more common hard bounce codes you’ll receive.
A good general rule of thumb is to remove addresses from your email list immediately. Yes, there might be a few addresses that ultimately would work down the road — but most won’t. And if you keep on sending to addresses that hard bounce it’s a big indication to the email services that you’re sending spam.
500 5.0.0 Email address does not exist.
501 5.5.2 Cannot decode response.
501 5.5.4 HELO/EHLO argument is invalid.
502 5.5.1 Too many unrecognized commands, goodbye.
502 5.5.1 Unimplemented command.
503 5.5.1 MAIL first.
503 5.5.1 RCPT first.
503 5.7.0 No identity changes permitted.
504 5.7.4 Unrecognized Authentication Type.
510 5.1.0 Other address status.
511 5.1.1 Bad email address.
513 5.1.3 Bad destination mailbox address syntax.
514 5.1.4 Destination mailbox address ambiguous.
These codes are often typo-related (or because you copied and pasted an email that contained invalid characters). You’ll need to fix the errors in the address before you can send the email.
516 5.1.6 Mailbox has moved.
517 5.1.7 Bad sender’s mailbox address syntax.
518 5.1.8 Bad sender’s system address.
521 5.2.1 AOL will not accept deliverability of this message.
530 5.5.1 Authentication Required.
530 5.7.0 Must issue a STARTTLS command first.
535 5.5.4 Optional Argument not permitted for that AUTH mode.
535 5.7.1 Application-specific password required.
541 The message could not be delivered for policy reasons.
Your address may appear on a blacklist or your message may have spam indicators, so the external server rejected it. Make sure your emails aren’t mistaken for spam (you can see strategies for that later in this article).
You can also use this email analyzer tool to find out if you’re on any of the common spam blacklists.
542 5.4.2 Bad connection.
543 5.4.3 Routing server failure.
544 5.4.4 Unable to route.
546 5.4.6 Routing loop detected.
547 5.4.7 Delivery time expired.
550 5.1.1 The email account that you tried to reach does not exist.
550 5.1.2 The domain name of the email address seems to be invalid.
This is another case where a typo might be at fault. Is the domain name wrong in your list? Or maybe an extra character like a / or a , snuck in there?
550 5.2.1 The email account that you tried to reach is disabled.
550 5.2.1 The user you are trying to contact is receiving mail at a rate that prevents additional messages from being delivered.
While this is a hard bounce code, it’s similar to the soft bounce for a mailbox that’s receiving too many messages. You can try this address again safely in the future.
But… if someone is really receiving emails at a rate of one-per-second or higher, is your message going to be able to cut through that noise?
550 5.4.5 Daily sending quota exceeded.
550, 5.4.5 Daily SMTP relay limit exceeded for user.
550 5.5.3 Too many recipients attached.
This is an issue on your end — did you try to test the limits to see just how many people you could put into the To field?
550 5.7.0 Mail relay denied.
550 5.7.0 Mail Sending denied.
This error indicates a problem on your end, not the recipient’s. Check your account and server configuration.
550 5.7.1 Email quota exceeded.
550 5.7.1 Invalid credentials for relay.
550 5.7.1 Our system has detected that this message is likely unsolicited mail.
This bounce warning is, essentially, Google telling you they think you’re sending spam. It’s time to try to save the email address by stopping mass and cold email campaigns and sending individual emails for a bit.
550 5.7.1 The user or domain that you are sending to (or from) has a policy that prohibited the mail that you sent.
This bounce could mean your message didn’t pass the recipient’s language filters. Which is why we suggest dropping no more than six f-bombs per cold email. (Joke! That’s a joke! The right answer is zero. Now and always.)
So while it’s a hard bounce code, you can try sending to the address again in the future — with more careful attention toward spam-triggering words you might be using.
550 5.7.1 Unauthenticated email is not accepted from this domain.
550 5.7.26 Unauthenticated email from domain-name is not accepted due to domain's DMARC policy.
550 5.7.26 This message does not have authentication information or fails to pass authentication checks (SPF or DKIM).
550 5.7.26 This message fails to pass SPF checks for an SPF record with a hard fail policy.
If you receive any of these bounce messages you need to look into your SPF, DKIM, and DMARC records. One good way: Send a test email to this Email Analyzer. It will show you the entire technical “conversation” of your messages. And if it spots any issues with your authentication records, you’ll know what you need to fix.
551 5.7.1. The message was rejected due to classification as virus, spam, or high bulk ratio.
552 5.2.2 This message is larger than the current system limit.
552 5.2.3 Your message exceeded Google's message size limits.
You can try resending to these
552 accounts with a smaller message (maybe one without an attachment). But if you were sending a regular, mostly-text message and still got this code, it’s an indication the mailbox is no longer attended.
553 5.1.2 We weren't able to find the recipient domain.
This is another hard bounce that may be caused by a typo.
554 5.6.0 Mail message is malformed.
554 5.6.0 Message exceeded 50 hops, this may indicate a mail loop.
554 5.7.0 Too Many unauthenticated commands.
555 5.5.2 Syntax error.
560 5.6.0 Other or undefined media error.
561 5.6.1 Media not supported.
570 5.7.0 Other or undefined security status.
571 5.7.1 Delivery not authorized, message refused.
572 5.7.2 Mailing list expansion prohibited.
573 5.7.3 Security conversion required but not possible.
574 5.7.4 Security features not supported.
575 5.7.5 Cryptographic failure.
576 5.7.6 Cryptographic algorithm not supported.
These cryptographic-related codes often correspond to encrypted messages — especially ones that are too encrypted.
577 5.7.7 Message integrity failure.
Bounce Management: How to Handle Email Addresses That Bounce
Most modern email service providers have some degree of bounce management built in, meaning they’ll respond to a hard bounce one of these ways:
- Removing the email from your list.
- Quarantining the address until you can evaluate it.
- Suppressing your future messages to that address.
And with soft bounces, many email service providers will try to resend a few times to the address.
All of this is a good blanket approach to bounces.
The goal is two-fold. One, to keep you from sending repeated messages to addresses that hard bounce, which can have a negative effect on your sender reputation. And two, to cut down on the manual list hygiene and maintenance work on your end.
As you evaluate email providers, keep an eye out for their bounce management.
At GMass, for example, we suppress future emails to addresses that hard bounce (although we will let you override that and send away if you want).
You can also manage bounced addresses and remove emails from the list.
We’ve also created a few other cool bounce management features to help keep bounces from have any sort of negative effect.
With global bounces, if you send an email to someone who hard bounces, GMass can suppress messages to them from everyone on your team. (This is also true for unsubscribes.)
And when you get a bounce notification email and open it — did you know that can count as an “open” for the original email? That’s because the original message is included in the bounce notification, so when you open the notification, you trigger the open-detection pixel in the original.
4 Ways to Cut Down on Bounces
Bounce management is helpful and it’s good to know what bounce codes mean — but really, the goal of every email campaign is zero bounces.
(Well, except for the emails I sent trying to intentionally bounce emails to get the screenshots for this article.)
So here are four ways you can cut down on bounces and try to keep your bounce rate right around zero.
1. Validate emails before you send
One way to figure out if email addresses on your list are valid? Send the campaign and see what bounces.
A much better way to figure out if the email addresses on your list are valid? Test the addresses before you send.
There are lots of email verification services out there, most of which are paid. GMass offers free email verification to users as well; GMass can test every address in a campaign right before your email goes to that address.
2. Be careful how you source your email list
Planning to buy an email list? Expect a lot of addresses on there to bounce. (There also might be spam traps on there — emails that won’t bounce but that email providers use to identify spammers.)
You also may run into trouble if you’re using questionable email mining tools to dig up contact info for prospects.
And, of course, there’s the human error element we discussed in the list of bounce codes — it’s incredibly easy to mistype an address in your spreadsheet.
The more effort you put into assembling, proofreading, and validating your list, the fewer bounces you should see.
And if you aren’t sending frequent emails (say, at least once a month), there’s a chance several addresses on your list will become invalid in between sends. That’s one of the many reasons it’s recommended to email your list with a more frequent cadence.
3. Beware of Google sending limits
Google limits how many emails you can send in a day: up to 500 per day for free Gmail accounts and up to 2,000 per day for paid Google Workspace accounts. Once you cross your daily limit, your emails start bouncing.
If you’re using a tool to send your email campaigns through Gmail, make sure that tool has a plan in place for handling Google’s limits.
Some of the tools that send through Google will simply limit your daily sends to make sure they’re well below any possible account limits.
A few other tools, like us here at GMass, don’t want to limit you like that.
So we automatically start slowing down your send as it approaches Gmail’s limit, making sure that as soon as the first “over the limit” bounce comes in we either pause the campaign for 24 hours or switch to sending it via a third-party SMTP service. (It’s your choice how you want GMass to handle the situation.)
4. Make sure your emails aren’t mistaken for spam
As the bounce codes show, your messages may bounce if the recipient’s email server mistakes them for spam or if you wind up on any spam blacklists.
Cold email isn’t spam — but if you’re sending haphazard mass emails, your messages might appear that way.
You also may want to check out Spam Solver. It’s a unique tool that will assess your message before you send, figure out its inbox vs. spam placement, and help you tweak the message to improve that ratio.
Email Bounce Codes: Takeaways and Next Steps
Email bounces are never fun. But if you know email bounce codes and the nuances behind why emails have delivery issues, you can take steps to prevent bounces from happening — and know the correct action to take if they do.
We also hope you’ll want to give GMass a spin for your email marketing, cold email, and mail merge needs. It works entirely inside Gmail and has advanced bounce management features so you can stop devoting time (and mental energy) to bounces.