Reference for tracing mail delivery and diagnosing SMTP transport, SPF, DKIM, DMARC, alignment and reputation.
SMTP ports & roles
Standard MTA-to-MTA port; often blocked outbound on consumer links.
Recommended submission port for authenticated clients/apps with STARTTLS
Commonly offered for implicit TLS submission.
Mailbox access, separate from SMTP sending.
SMTP codes to know
250 generally means the SMTP step was accepted.
The sending MTA should normally retry later.
Check recipient address, domain and routing.
Often related to relay, anti-spam, SPF/DKIM/DMARC or permissions.
SPF
SPF is a TXT record; multiple separate SPF records make evaluation invalid.
Authorizes declared infrastructure and fails other sources.
include, a, mx, exists and redirect can consume the limit.
Resolve-DnsName exemple.fr -Type TXTConfirm that a single v=spf1 record is published.
DKIM
Allows multiple keys and rotation without changing the From domain.
DNS contains the public key; private key stays with the sender.
Resolve-DnsName selector1._domainkey.exemple.fr -Type TXTUse the selector shown in the DKIM-Signature header.
Keep overlap long enough for messages still in transit.
DMARC & alignment
DMARC policy is published under _dmarc.
Often start with none for visibility before enforcement.
SPF pass alone is not enough if the domain is not aligned.
DMARC passes when at least one aligned mechanism passes.
DNS & connectivity tests
Resolve-DnsName exemple.fr -Type MXChecks published receiving servers.
Resolve-DnsName _dmarc.exemple.fr -Type TXTChecks policy and reporting addresses.
Test-NetConnection smtp.exemple.fr -Port 587Validates TCP only, not authentication or message submission.
openssl s_client -starttls smtp -connect smtp.exemple.fr:587 -servername smtp.exemple.frInspects certificate and STARTTLS negotiation where OpenSSL is available.
Headers to inspect
Read bottom-up to reconstruct the delivery path.
Often the most useful evidence of authentication failure.
Used for SPF evaluation and bounces.
Keep it for correlation in message traces.
Troubleshooting order
Confirm delivery reaches the right service before domain authentication.
Identify the actual sending source, especially apps and relays.
Check pass/fail and alignment with From.
Authenticated mail can still be blocked by content or reputation.
Key points
- Publish only one v=spf1 SPF record per domain.
- Do not move to p=reject until all legitimate senders are identified.
- Never share a DKIM private key in tickets or web tools.
- Keep full headers from rejected messages; they are often more valuable than screenshots.