When you send an email to someone, there is a lot of processing involved in the backend, before the email reaches the recipient. A brief outline of the processes are explained below:
- You compose and send an email from your email client.
- The email client connects to the Outgoing SMTP server and handovers the email in MIME format.
- The Outgoing SMTP validates the senderdetails and processes the message for sending and places it in Outgoing queue.
- The SMTP server based on the domain details in the recipient address, looks up the DNS Server of the domain and retrieves the Recipient server information (MX records/ A Records in case no MX record is found) of the recipient domain.
- Then the SMTP Server connects with the Recipient email server and sends the email through SMTP protocol.
- The Recipient server in turn validates the recipient account and delivers the email to the users mail account.
- The user views the received email using his email client.
Once an email is sent from the client, the emails can be bounced back as undeliverable emails due to any of the reasons below. These errors are permanent errors and hence the emails will not be retried by the SMTP Servers.
When you send an email to an invalid domain, the SMTP server is unable to lookup DNS information for the particular domain. In this case, the email is bounced as undeliverable by the SMTP server itself.
Example: You send an email to firstname.lastname@example.org instead of email@example.com. In this case, when there is no valid domain yordomain.com, the DNS Lookup fails and the domain is considered invalid domain.
Solution: Check the correct spelling of the domain name you have entered.
No MX Records found:
When you send an email to a valid domain, but there are no MX records/ valid A Records for the domain (nothing is returned by the DNS Servers), the email is bounced as undeliverable by the SMTP server itself.
Solution: Check with the recipient or the recipient administrator if this is a known issue. Check for alternate email address and send email there in case of emergency. This is purely the issue at the recipient domain and can be resolved by the admin of the recipients.
Invalid Recipients/ User unknown:
When you send an email, but type the email address incorrectly or send an email to an employee, who has left the organization, you may get such errors.
Example: You send an email to firstname.lastname@example.org instead of email@example.com. The email is delivered to the MX records of the yourdomain.com. But there is no valid account like firstname.lastname@example.org in the server, the recipient server bounces back the email as undeliverable.
Solution: In some cases, checking the email address for typos might help.
Email Policy Violation:
The recipient email server may have some restrictions or email policies applicable for incoming emails. If the email you send violates such policies, your email might be rejected by the recipient server.
Example: You send an email to email@example.com with .mov attachment file. If the recipient server has an email policy to not accept .mov files, the recipient server may reject the email based on the policy.
Other than the above common reasons, the recipient email servers may reject or bounce the emails due to various reasons and errors. Most of the times, the bounce email will include the reason the email was rejected.
Sometimes when an SMTP Server connects with the recipient email server, the recipient server returns temporary errors. In this case, the email will be placed in Retry Queue, and the SMTP Server will try to deliver the email to the recipient server in preset intervals. Mostly the emails might be delivered on subsequent retried. If the email is not accepted by the recipient server after the preset number of retries, the email is bounced back to the sender as a permanent failure.
If the recipient server is busy, the email will be placed in the retry queue and will be retried after sometime.
Some recipient server, when receiving emails from specific domains for the first time, they greylist the emails by throwing temporary errors. Mostly these emails will be delivered in subsequent retries.
Too Many Emails/ Email Policies:
Some servers greylist the emails, in case they notice a sudden surge in the number of emails received from a specific domain or specific IP Address. This temporary rejection is based on the email policy of the recipient server.
Some recipient servers give 4xx errors when the recipient mailbox is full or based on the Anti spam settings of the domain/ server etc. In case of Zoho Mail, the no MX records found is treated as a temporary error and the email is placed in the Retry queue.