Introduction to Email Results
When sending an email, it's important to be able to track the outcome of the message delivery.
Tracking whether an email sent successfully or unsuccessfully is important for your own reporting.
Further, sending to email addresses that fail can introduce issues:
- You pay for emails being sent. If you repeatedly send to an invalid email address, this is costing you unnecessarily.
- Successful email delivery is heavily reliant on the email sender having a good reputation. If you often send to invalid email addresses, the receiving email server may score you as a potential spammer.
- When sending larger broadcasts, email failures can often slow reporting, especially when it is a temporary (400 SMTP) error that is automatically retried.
You can add email addresses to your TNZ Opt-Out List (Service Settings | Opt-Out List) to prevent email submission to blocked addresses.
What is the email "Status" and "Result"?
Email delivery can be affected by a variety of factors, from how the recipient's server processes the message to whether it lands in the inbox or gets blocked.
To help you understand this process, our email system provides two key pieces of information: Status and Result. These help you track whether your email was successfully delivered or if there were any issues.
The Status in our system indicates whether the message was successfully delivered. You can use this to determine whether the email was accepted by the receiving email server.
The Result provides more specific information, often including a human-readable explanation from the recipient's mail server.
Understanding Email Acknowledgements
Email delivery relies on the Simple Mail Transfer Protocol (SMTP), which is like a set of rules for exchanging emails between servers. When our system sends your email, the recipient’s email server sends back an acknowledgment, usually in the form of a numeric code, that tells us if the message was accepted or if there was an issue. This is done automatically and helps us update the delivery Status and Result in your account.
What Does a Successful Email Acknowledgement Look Like?
A Success status means the recipient’s server has accepted the email.
The Result will be an SMTP code in the 200 range. For example, an SMTP code 250 OK means the email was received.
250 OK
It's important to note that a positive Status and Result doesn't guarantee that it landed in the inbox. The recipient could have filtering rules in place (e.g., IMAP filters or SPAM filters), which might reroute the email to a different folder. While a "250 OK" is a good sign, you should be aware that the message may not always appear directly in the recipient’s inbox.
What Does a Failed Email Acknowledgement Look Like?
A Failed status indicates that the recipient's server encountered an issue while processing your email.
Different SMTP error codes provide clues about why the delivery failed:
- 500-series errors indicate a permanent failure. For example, 550 No Such User suggests the email address doesn’t exist. However, other 550 errors could mean the recipient's mailbox is full or the server refuses to accept mail from your domain.
- 400-series errors are temporary issues. For instance, 450 Mailbox Unavailable might mean the server is overloaded or the recipient's inbox is temporarily unavailable. In such cases, you can try resending the message after some time.
Here's an example of a useful bounce message which includes a useful description and a link to learn more:
550 Envelope blocked - User Entry - https://community.mimecast.com/docs/DOC-1369
In this case, the email recipient has added the sender to their own internal block list.
There's also something called a soft bounce. This happens when the email server initially accepts your email with a 250 OK, but later sends a bounce notification, indicating that delivery ultimately failed. When this occurs, our system first marks the email as successful, but the Result will later update to show that delivery failed.
TNZ Resolvable Error Codes
Here are some common SMTP result codes that TNZ's Email platform resolves.
Rate Limiting in Email
Rate limiting is a process used by email servers to control the flow of incoming and outgoing messages to prevent overloading the system or abuse, such as spamming.
When you send a large volume of emails in a short time, some email servers may reject or temporarily delay your messages, applying rate limits to protect their infrastructure. This typically results in temporary errors, like 421 Too Many Messages or 450 Too Many Connections, which means you may need to slow down your sending rate or retry later.
Typically it is the receiving email server that imposes rate limits, however, often the sending email server (your email system) has a rate limit too. For example, Microsoft 365/Exchange Online imposes a sending rate limit of 2,000 external recipients in a 24-hour period.
To avoid hitting rate limits when sending crucial email, utilise TNZ's Email platform for email delivery.
Emails Blocked Due to SPF, DKIM, or DMARC
SPF, DKIM and DMARC are email authentication tools used by the receiving email server to verify that emails are sent from an authorise server and have not been tampered with in transit.
If these protocols are not correctly configured, receiving mail servers may block your emails as a security measure, marking them as suspicious or fraudulent.
For example, if your SPF record does not authorize the server you're sending from, the recipient's server may reject the email, displaying an error like 550 SPF Fail. DKIM issues may arise if the signature in your email header doesn't match the encrypted signature attached to the email, causing it to fail verification. DMARC builds on both SPF and DKIM, giving domain owners control over how to handle messages that fail these checks. Ensuring proper configuration of SPF, DKIM, and DMARC is critical for successful email delivery, especially when sending bulk or important transactional emails.
To ensure your SPF, DKIM and DMARC are set up correctly, giving you the best possible chance of getting your email delivered, utilise TNZ's Email platform for email delivery.
Emails Blocked Due to Spam or RBL
Emails can be blocked if they are flagged as spam. There are three common spam filtering techniques:
Sender Reputation
If the receiving email server identifies that the email sender has a poor reputation, for example, sending without SPF, DKIM or DMARC, or has send a high frequency of invalid or bounced emails, the receiving server may flag the email sender and it's IP as a potential spammer.
RBL Listing
Many email servers reference RBLs (Real-Time Blackhole Lists) which are shared lists containing real-time listings of detected spammers. If your email sender and/or IP is listed on a RBL, it will affect your email delivery to a wide range of email servers.
Email Content
Your email is scanned and evaluated on several factors, such as subject lines, content, links and formatting, to determine whether an email appears spammy.
Trigger words (e.g., “free” or “win”), excessive use of images, suspicious links and attachments, or poor HTML formatting may increase the likelihood of the email being marked as spam and rejected or sent to the recipient's spam folder.
To clean your emails and give them the best chance of avoiding spam detection, utilise TNZ's Email platform for email delivery.
Common Email Result Codes and What They Mean
Understanding these codes will help you better track and troubleshoot your email deliveries.
Here's a list of common SMTP response codes and their meanings:
Status | Result | Explanation | Chargeable? | Notification Options |
---|---|---|---|---|
Success | 250 250 OK 250 2.0.0 250 2.6.0 |
The email was accepted by the recipient's server. | Yes | Dashboard, Email, Webhook, GET Poll |
Success | Control Deleted | Sending was aborted by a user (marked as success for reporting purposes). | No | Dashboard, Email, Webhook, GET Poll |
Failed | 421 Service Temporarily Unavailable 421 Service Not Available |
The recipient's server is having temporary issues. | No | Dashboard, Email, Webhook, GET Poll |
Failed | 451 Server Error | The recipient's server is having temporary issues. | No | Dashboard, Email, Webhook, GET Poll |
Failed | 500 500 Internal Server Error 500-Message will be returned to sender as undeliverable |
The receiving email server does not exist or has forcefully rejected the connection (the 'domain' part of the email address is invalid). | No | Dashboard, Email, Webhook, GET Poll |
Failed | 550 550 No Such User 550 5.1.1 No such user 550 5.5.0 Requested action not taken: mailbox unavailable 550 5.4.1 Recipient address rejected 550 User unknown in relay recipient table |
The email address does not exist or is unavailable. | No | Dashboard, Email, Webhook, GET Poll |
Failed | 550 Mailbox Full 552 5.2.2 User is over quota |
The recipient's mailbox is full and can't accept new emails. | No | Dashboard, Email, Webhook, GET Poll |
Failed | 552 Message Size Exceeded | The email is too large for the recipient's server to handle. | No | Dashboard, Email, Webhook, GET Poll |
Failed | Destination is blacklisted | Email user has opted out of receiving your emails and is on your blacklist (see Unsubscribes). | No | Dashboard, Email, Webhook, GET Poll |
Failed | LinkNotPermitted | The email contains a URL that is not on our phishing whitelist (see Preventing Phishing). | No | Dashboard, Email, GET Poll |
Failed | No Permit Record | Internal TNZ error; contact TNZ Support. | No | Dashboard, Email, Webhook, GET Poll |
Failed | Invalid Email Address (RP-Min) | Email address is invalid (not enough characters for a valid email address). | No | Dashboard, Email, Webhook, GET Poll |
Pending | The message is currently processing and awaiting a delivery result. | TBC | Dashboard, GET Poll | |
Delayed | The message is queued until the specified Send Time. | TBC | Dashboard, GET Poll | |
CreditHold | The message is held due to lack of available account credit. | TBC | Dashboard, Email, GET Poll | |
Unknown | Catch-all value if no other Status code is appropriate. | TBC | N/A |
For a comprehensive list of error codes and their meanings, these two resources include further information:
- Wikipedia's list of SMTP return codes
- IETF's Status Codes RFC