Email Debugging
Last updated: 27 September 2026
Email delivery has several steps: your application creates a message, a server accepts it, other servers relay it, and the recipient’s mailbox decides what to do with it. “Sent” at the first step does not mean “arrived in the inbox.”
Locate the last known step
Check the application’s delivery logs and the receiving server’s response if you have it. A rejection is different from an accepted message that landed in spam. Read the full error before editing DNS records or retrying indefinitely.
Inspect headers carefully
Message headers show routing and authentication results, including SPF, DKIM, and DMARC. They are evidence, not a magic score. Work from the oldest relevant Received line toward the newest, and remember that headers can expose addresses and internal hostnames. Redact them before sharing.
Related tools
- Email Header Analyzer — Parse raw email headers, list the delivery hops and show where the time went.
- Email Normalizer — Normalize email addresses to a canonical form.