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