Why Do Emails Bounce Back, and What do the Status Codes mean?
An email bounce (or “bounce”) is an error message you get when email you’ve sent isn’t delivered. The destination email server sends this Non-Delivery Report (NDR), and we forward it to you. An email bounce message also informs you what caused delivery failure of your email.
How emails are sent within Better Impact Application After You Click the [Send Email] button:
- Your email(s) get compiled by the application, then dropped off in our email server queue.
- Email(s) are picked up by our email server and the delivery is attempted.
- Our email server checks given email address with the DNS (Domain Name Server). The DNS is an address book for domain names and server IP addresses.
- Once your recipient’s server is located, the email server gives your message to their MTA (Mail Transfer Agent) to complete email delivery. (The MTA is like a postman in this scenario.)
- Your email is delivered successfully to your recipient’s inbox, maybe…
What causes an email to bounce back?
There are many reasons you receive delivery status notification than an email bounced. Reasons for email bounce backs include full inboxes, servers that aren’t responding, sends to email addresses that no longer exist, and sends to fake email addresses. Some reasons can be temporary — but others are permanent. You will know how to troubleshoot email bounce backs if you first understand the type of bounce category your email falls under.
There are two types of bounce backs that disrupt the delivery of your email are:
- Soft bounce emails
- Hard bounce emails
Soft bounce emails
Emails soft bounce when a server rejects an email temporarily. Our email server will try to resend email messages after they soft bounce.
Reasons for a soft bounce include:
- Mailbox full: If a recipient has too many emails and reaches capacity, your email will bounce back until there’s free space
- Email size: If you pack emails with megabyte-heavy images or include a huge attachment, it might be bounced back if there’s a filter in place
- Server is down: An unreachable server may have crashed, be overloaded, or be under maintenance. This means you must wait to send the email to the address again.
- Autoreply: If someone goes on vacation and sets an auto reply, your email will often bounce back
Hard bounce emails
A hard bounce happens when your email is permanently undeliverable to an email address.
Reasons for a hard bounce email include:
- Fake email address: Some people give fake email addresses.
- Incorrect email address: There’s no spell check in email address fields — typos happen!
- Email blocked: Some domains (like governmental or institutional) have stricter spam filter settings. Or (sad but true) the recipient may have purposely blocked your email address. If it’s the former, ask them to add you to their contacts.
You can’t directly fix hard bounce email issues. Confirm the address with the volunteer (if the message is mailbox not found), try using a different email the volunteer can be reached at or check with the volunteers’ email provider maybe blocking the incoming mail.
What Is a status code?
Status codes are issued by a server in response to a client’s request made to the server.
The message phrases shown in the bottom chart are typical, but any human-readable alternative may be provided. There are two types of status codes “Basic” and “Enhanced”.
Basic status codes
A “Basic Status Code” SMTP reply consists of a three-digit number (transmitted as three numeric characters) followed by some text.
A basic status code: 550 User’s mailbox was unavailable (such as not found).
The first digit denotes whether the response is good, bad, or incomplete.:
- 2## (Positive Completion Reply): The requested action has been successfully completed. There would be no bounce code returned here as mail send was a success
- 3## (Positive Intermediate Reply): The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information.
- 4## (Transient Negative Completion Reply): The command was not accepted, and the requested action did not occur. However, the error condition is temporary, and the action may be requested again.
- 5## (Permanent Negative Completion Reply): The command was not accepted, and the requested action did not occur. The SMTP client SHOULD NOT repeat the exact request (in the same sequence).
The second digit encodes responses in specific categories:
- #0# (Syntax): These replies refer to syntax errors, syntactically correct commands that do not fit any functional category, and unimplemented or superfluous commands.
- #1# (Information): These are replies to requests for information.
- #2# (Connections): These are replies referring to the transmission channel.
- #3#: Unspecified.
- #4#: Unspecified.
- #5# (Mail system): These replies indicate the status of the receiver mail system.
Mail server administrators can create custom messages that accompany bounce codes, below are some common bounce codes.
|250||Mail accepted by receiving network||Will not appear with a bounced email, as delivery was a success|
|421||<domain> Service not available, closing transmission channel||If you receive ‘SMTP error (421) connection server failed’, then think of this as an open-ended error, which is most typically related to the destination server not being “reachable.”|
|450||Requested mail action not taken mailbox unavailable||There can also be some additional meanings to this response code such as: The email account no longer exists on the recipient mail serverThe email account does not have permission to receive the emailThe recipient mail server rejected the email due to a blacklisting or filtering|
|451||Requested action aborted: error in processing||This is usually not your fault because the receiving mail server’s rules may have prevented the mail from processing.|
|452||Requested action not taken insufficient system storage||This is usually caused by overloading your mail server when attempting to send too many messages at once.|
|455||The server cannot deal with the command at this time.||If you receive this message, then allow time for more attempts.|
|500||The server could not recognize the command due to a syntax error.||Email could not deliver to the email address, is a board general error message.|
|501||A syntax error was encountered in command arguments.||This is like response code 500. However, a 501 response is often caused by an incorrect/invalid email address.|
|502||This command is not implemented.||Server configuration issue with MTA (Mail Transfer Agent)|
|503||The server has encountered a bad sequence of commands.||This response indicates that the parameters being used are out of order from what the mail server is expecting, which commonly happens when not authenticating an email account.|
|504||A command parameter is not implemented.||This is very similar to response code 502|
|550||User’s mailbox was unavailable||Email could not deliver to the email address.|
(such as not found, check spelling of email address)
|552||The action was aborted due to exceeded storage allocation.||This is usually due to the recipient’s mail server being too full|
|553||The command was aborted because the mailbox name is invalid.||In this case, the mailbox was unable to verify the email address. Check to ensure that all the email addresses that you’re sending to are correct.|
(perhaps the receiving email address server was offline or didn’t respond)
|554||The transaction failed for some unstated reason.||this is just a normal invalid address response. Check the email address and try again.|
Enhanced status codes
Defines a separate series of enhanced mail system status codes which is intended to be better structured, consisting of three numerical fields separated by “.”, as follows:
class “.” subject “.” detail
class = “2” / “4” / “5”
subject = 1 to 3 digits
detail = 1 to 3 digits
Example of an enhanced status code: 530 5.7.0 Authentication required
The classes are defined as follows:
- 2.###.### Success: Report of a positive delivery action.
- 4.###.### Persistent Transient Failure: Message as sent is valid, but persistence of some temporary conditions has caused abandonment or delay.
- 5.###.### Permanent Failure: Not likely to be resolved by resending the message in current form.
In general, the class identifier MUST match the first digit of the Basic Status Code to which it applies. The subjects are defined as follows:
- #.0. ### Other or Undefined Status
- #.1. ### Addressing Status
- #.2. ### Mailbox Status
- #.3. ### Mail System Status
- #.4. ### Network and Routing Status
- #.5. ### Mail Delivery Protocol Status
- #.6. ### Message Content or Media Status
- #.7. ### Security or Policy Status