Skip to content

Email not arriving: check MX records and mail server

Medium 25 min Updated:

Quick answer

If email is not arriving, first check whether the domain has correct MX records pointing to the mail server that receives mail for that address. Then check if that server is running, if the mailbox is full, and whether the message is rejected or silently dropped. With message headers and server logs, the cause is usually found in a few steps.

How to recognize the problem

  • Sender gets an error message or bounced email
  • Emails from one address do not arrive, but from others arrive normally
  • Messages disappear without any error at the sender
  • Email arrives with a large delay of several hours
  • Receiving works for one domain address but not another

Most common causes

Incorrect or missing MX records

The domain has no MX record or points to a server that no longer receives mail. This often happens after changing hosting or DNS settings.

Mail server not working or mailbox full

The mail server is temporarily unavailable, or the mailbox quota is full so the server rejects new messages.

Incorrectly set address or forwarding

The address does not exist on the server, or the forwarding rule is wrong so the message falls into void.

Block on sender or recipient side

Spam filters, RBL lists or server rules reject messages before they reach the mailbox.

SPF, DKIM or DMARC problem

If the sender's domain does not have correct authentication, the recipient may reject or drop the message.

Step-by-step fix

  1. 1

    Check domain MX records

    Open a DNS check tool (for example nslookup in the command line) and type nslookup -type=MX yourdomain.com. The resulting list must contain the mail server that actually receives mail for that domain. If the list is empty or points to an old server, the problem is in DNS records.

  2. 2

    Compare MX with hosting settings

    In the hosting control panel (cPanel, Plesk or similar), find the DNS zone section and compare MX records with those recommended by the mail provider. Pay attention to priority (preference) and the dot at the end of the server name.

  3. 3

    Check if the mail server receives mail

    From the command line, check if the mail server accepts a connection on port 25. On Windows, telnet is often not installed by default, so in PowerShell you can run Test-NetConnection mail.yourdomain.com -Port 25, and if you have telnet, telnet mail.yourdomain.com 25 is enough. If the connection is established, the port is open and the service accepts the connection, but that still does not guarantee it receives mail for your domain. If the connection fails, check if the mail service is active and keep in mind that many providers block outgoing port 25.

  4. 4

    Check mailbox and quota

    Log in to webmail or the control panel and see how full the mailbox is. If the quota is reached, make a backup (archive) of older messages before deleting them, or increase the quota, then ask the sender to resend the email.

  5. 5

    Look at the bounced message header

    If the sender gets a bounce, ask them to send you the full error text. It states the exact reason, for example 550 5.1.1 User unknown or 452 4.2.2 Mailbox full, which immediately narrows down the cause.

  6. 6

    Check forwarding rules and filters

    In mail settings, find forwarding rules and spam filters. Temporarily disable the rule that forwards mail to another address and send a test email from another address.

  7. 7

    Send a test email from an external address

    Send a message from a Gmail or Outlook account to the problematic address and monitor if it arrives. If it arrives, the problem is likely on the sender's side or in the authentication of their domain.

  8. 8

    Check mail server logs

    If you have access to logs, look for entries at the time the email was sent. They show whether the message was received, rejected or forwarded further, which is the most reliable way to determine where it is lost.

If nothing helps

If MX records look correct, the server is running and the mailbox is not full, but email still does not arrive, contact your mail or hosting provider with the exact sending time, sender address and error text. Ask them to check logs for that period and whether the domain is on any blacklist. In the meantime, open an alternative address with another provider so business does not stop. If the problem is in the sender's domain authentication, the solution is setting up SPF, DKIM and DMARC records, which is covered in a separate article.

How to prevent it

  • Regularly check MX records after every hosting or DNS change
  • Monitor mailbox fullness and increase quota in time
  • Keep records of forwarding rules and filters
  • Test receiving from an external address after every mail change

When to call a professional

If you do not have access to the DNS zone, mail server logs or hosting control panel, self-checking quickly stops. In that case, it is better to contact IT support or your provider, who can check logs and DNS with administrative access.

Website development · Fast, SEO-ready, multilingual websites

FAQ

How long does it take for an MX change to take effect?

An MX record change usually takes effect within a few hours, but due to DNS caching and TTL values it can take up to 48 hours. During that time, mail may arrive at the old or new address.

Why does email arrive from one address but not another?

Most often the problem is on the sender's side, for example in their domain authentication or spam filter. Rarely is the cause the recipient's server itself, but it is worth checking logs for the exact sending time.

Can I check MX records myself?

Yes, using the command `nslookup -type=MX domain.com` or a public DNS tool. It is enough to see if the record exists and which server it points to.

Share
Didn't find a fix?The AI IT assistant is available 24/7. Describe the problem or send a screenshot of the error and get instructions for your case.Ask the AI IT assistant