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
Check domain MX records
Open a DNS check tool (for example
nslookupin the command line) and typenslookup -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
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
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 25is 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
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
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 unknownor452 4.2.2 Mailbox full, which immediately narrows down the cause. - 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
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
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 websitesFAQ
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.