You recently sent an email campaign to a list of recent signups. When opening the Logs in the Mailgun control panel to check the campaign's status, you notice right away a lot of yellow-shaded entries with the following error: "498/499 No MX for [domain.tld]."
(Note: [domain.tld] is simply a placeholder value for the specific domain you will see in the error; usually it's a misspelling of a domain name, such as gmai.com, ahoo.com, or htomail.com).
At this point, you might start to panic - so many failures, and so much yellow! While this is certainly a reasonable response - you care about your sending, after all - we're glad to explain what this all means, and how to help achieve a solution.
The Logs will shade each event in either green (successful), yellow (temporarily unsuccessful), or red (permanently unsuccessful). For the Failed events that will display the 498 error, they will be shaded in yellow to indicate they are temporary failures.
Temporary failures enter a retry window where we'll automatically perform a certain amount of attempts over a certain time period. The most common retry window, hardcoded into our environment, is 8 hours, with retries at the following intervals after the initial delivery attempt: 10 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, and 4 hours. What if the message fails on every retry attempt during the retry window? The final Failed event will be shaded in red to indicate it is a permanent failure; no further retries for that send will be attempted.
What "498/499 No Mx for [domain.tld]" Signifies
Let's review this example: "498/499 No MX for yahoo.comm." In the Logs, you'll see this error actually consists of two fields:
- delivery-status.code: 498/499
- delivery-status.description: No MX for yahoo.comm
The underlying cause of the error is always DNS-specific. For this example, the domain yahoo.comm does not have any MX records assigned; it's a non-existent domain. When a domain lacks MX records, email servers do not know where to send emails to for that domain. There are tools available such as dig, MXToolbox, and WhatsMyDNS that can verify what DNS records (if any) are configured for a domain.
The primary reason a domain might be lacking MX records is that the domain simply doesn't exist. In our example above, the domain was mistyped as yahoo.comm rather than yahoo.com at some point during the email registration process for this recipient; this is part of why a double opt-in policy is so important.
Less commonly, there are two other reasons a domain may be lacking MX records: either a domain's DNS provider is experiencing an incident (as in, a temporary misconfiguration), or the domain's owner(s) has configured the MX records incorrectly (if at all). The former scenario will virtually always be a temporary setback; just an incident, resolved shortly. However, concerning the latter scenario, it is less certain as to if and when it will be resolved since the domain's owner(s) must first become aware of the misconfiguration before they can then correct the misconfiguration.
Email Verification Is Your Best Friend
Since the two less common reasons for a domain lacking MX records are ultimately outside of the control of both you and Mailgun, let's focus on the one thing that is within your control: gathering your recipients' email addresses.
It is fairly certain that a list filled with addresses such as firstname.lastname@example.org or email@example.com has an underlying issue at the point of data entry. Whether a user directly enters information into a web form, or an employee manually records contact details from recently signed contracts, our email verification service can help! Some of the checks our email verification service performs can highlight when a domain lacks MX records or appears to be mistyped. Removing or correcting these addresses before sending will keep both your mailing lists and your Logs clean and pristine. It may seem obvious, but it's worth stating that this kind of due diligence has a massive effect on your mail's deliverability.
If any questions arise, just reach out to our Support team via the Support option in your Mailgun control panel!