What the message looks like
postfix/smtp[2314]: 4F1A2B3C4D: to=<kunde@example.net>, relay=none, delay=0.5, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=example.net type=MX: Host not found, try again)Common causes
- The DNS resolver is unreachable or misconfigured:
/etc/resolv.conf, systemd-resolved or a blocked port 53. - Postfix runs in a chroot and does not find a copy of
resolv.confthere. - The recipient domain has a typo, no MX or A record, or its name servers fail.
- A local firewall blocks outgoing DNS queries.
- A short-term DNS outage: “try again” means the error is temporary.
Check
- Does the lookup work from the shell?
- Which resolver is configured?
cat /etc/resolv.conf - Does the Postfix chroot have its own copy?
ls -l /var/spool/postfix/etc/resolv.conf - Related Postfix settings
postconf -n | grep -E 'disable_dns_lookups|smtp_host_lookup|myhostname'
Fix
- Fix the resolver, or install a local caching one such as unbound, so DNS no longer fails.
- Refresh the chroot copy and restart:
cp /etc/resolv.conf /var/spool/postfix/etc/resolv.conf && systemctl restart postfix. - Check the recipient address for typos and the domain with
dig MX. - Allow outgoing UDP and TCP port 53 in the firewall.
- After the fix, retry the queue:
postqueue -f.
FAQ
Is “try again” a permanent error?
No. It is a temporary failure (4.x.x). Postfix keeps the message and tries again for several days.
How do I check my own domain's mail DNS?
Use the free mail DNS checker for MX, SPF, DKIM, DMARC and PTR.