Begin a DMARC investigation with one reproducible message and a precise symptom. “Mail is broken” can mean a failed aligned authentication result, a malformed policy, a rejected SMTP transaction or a message delivered to spam despite passing DMARC. Those situations do not have the same remedy.
Preserve evidence before changing DNS
Record the affected From domain, sending application, recipient, time and exact error. Obtain the received original source when delivery occurred, or the SMTP response and sender logs when it did not. Treat Authentication-Results as trustworthy only when its origin belongs to the receiving boundary you are investigating. Preserve a redacted working copy and restrict the original if it contains personal data.
Build an identity table with visible From domain, SPF-evaluated identity and result, every DKIM d and s value and result, and the receiver's DMARC result. Add the alignment modes and policy information relevant to that observation. Current DNS is useful, but it cannot prove what a resolver saw before a recent change.
Choose the next check from the symptom
If SPF passes and DMARC fails, compare the SPF identity with From before editing SPF. A pass for an unrelated envelope domain is not aligned. Then inspect every DKIM signature for a passing aligned path.
If DKIM passes and DMARC fails, compare its d domain with From and confirm the applicable alignment mode. Do not confuse the selector with the signing domain. A receiver may evaluate more than one signature, so avoid stopping at the first failing one.
If DKIM fails cryptographically, inspect the exact selector record, public key and message transformations. A missing key, an obsolete selector and a modified body require different changes. If there is no signature, investigate the outbound signer or a route bypass rather than publishing a guessed selector.
If SPF reports an error, inspect the actual evaluated domain's policy, lookup dependencies and syntax. Multiple SPF records at one owner are not a safe way to combine services. Do not add broad address ranges merely to make a test pass.
Separate authentication from receiver disposition
A DMARC pass does not guarantee inbox placement. If the receiver reports a pass but sends the message to spam, preserve that result and investigate reputation, content or the receiver's other controls. Conversely, delivered mail is not proof of a pass because receivers can apply local handling decisions.
For forwarded or mailing-list traffic, identify the intermediary and its modifications. SPF can change at forwarding, while DKIM may survive only if the signed material remains valid. Do not weaken an entire domain's policy simply because one indirect path needs investigation.
Use a hypothesis and a stop condition
Illustrative case: From billing@example.org, SPF pass for bounce.example.net, and DKIM pass for example.net. Assume these are the only authenticated identifiers available. Both authentication results pass, yet neither domain exactly matches example.org, and the unrelated domains do not provide relaxed alignment either. The next action is to investigate a supported aligned identity at the sender, not to add the recipient to SPF. This is a synthetic identity comparison, not an observed incident.
Write down the suspected cause, proposed change, expected evidence and rollback. Change one relevant element, send through the same route and compare results. Keep unrelated senders working. Close the incident only when the original symptom is resolved and representative legitimate flows remain healthy. Retain the before-and-after evidence and schedule a documentation update if a provider or standards change contributed to the fault.
Preserve an indeterminate case
If the received original is unavailable and a screenshot shows only one DKIM result, do not conclude that all DKIM paths failed or that DMARC must fail. Request the trusted receiver result and complete identity evidence. A missing SPF result is unknown, not a recorded fail. RFC 9989 Sections 4.4 and 5.3.5 require evaluation of the applicable authenticated identifiers; Section 5.4 keeps final handling distinct. No diagnostic command or live message test was executed for this example.