Mail not arriving — delivery diagnostics

12.03.2026
Complexity
min.

Summary

If emails are not being received or sent from the server: check MX records, SPF/DKIM/DMARC, mail server logs, and the message queue.

Applies to:
✔ VPS
✔ Dedicated servers
✔ Postfix, Exim

Step 1: check MX records

dig example.com MX +short

Step 2: check SPF record

dig example.com TXT +short | grep spf
v=spf1 ip4:SERVER_IP mx -all

Step 3: check DKIM

dig selector._domainkey.example.com TXT +short

Step 4: check DMARC

dig _dmarc.example.com TXT +short

Step 5: check mail server status

systemctl status postfix
systemctl status exim4

Step 6: check logs

Postfix:

tail -100 /var/log/mail.log

Exim:

tail -100 /var/log/exim4/mainlog
grep "recipient@example.com" /var/log/mail.log | tail -20

Step 7: check message queue

postqueue -p
postqueue -f

Step 8: check port 25

telnet gmail-smtp-in.l.google.com 25

If the connection fails, port 25 may be blocked. Contact support to unblock it.

Verification

echo "Test" | mail -s "Test mail" test@example.com
tail -5 /var/log/mail.log

Status "sent" means successful delivery.

If emails are sent but not delivered, the issue may be IP blocking, missing PTR record, or spam list inclusion. Open a support ticket for IP reputation check.
Was this information helpful?
Yes   No
 
By continuing to use this website you will be agreeing to the website Acceptable Use Policy and the Use of Cookies while using the website and our services. Please also read our Privacy Policy under which, to the extent stated, you consent to the processing of your personal data.