Portfolio demonstration only — no live inventory, real reservations, or card payments are processed.

SMTP and DKIM Email Delivery Troubleshooting

Trace transactional email from WordPress through SMTP and DNS without confusing transport acceptance with inbox delivery.


Symptoms

  • WooCommerce emails do not appear in the expected inbox.
  • wp_mail() returns true, but the message is absent or in spam.
  • The SMTP provider reports authentication, sender, or policy failures.

Likely causes

Possibilities include a disabled WooCommerce email, a stale recipient address, local PHP mail limitations, SMTP authentication failure, blocked outbound ports, SPF or DKIM misalignment, DMARC policy, DNS propagation, reputation, or filtering. Treat each as a hypothesis until evidence supports it.

Diagnostic steps

  1. Confirm the WooCommerce email is enabled and inspect its recipient, From name, and From address.
  2. Generate one uniquely titled message and record the time, order ID, sender, and recipient.
  3. Check WordPress email logs or the SMTP provider event log. A successful handoff is not proof of inbox placement.
  4. Inspect spam and quarantine folders, then review the returned SMTP response or bounce.
  5. Verify SMTP host, port, encryption, authentication, and an allowed From address without exposing credentials.
  6. Query authoritative DNS for SPF, DKIM selector, and DMARC records; account for TTL and propagation.
  7. Confirm From, Return-Path, and DKIM signing-domain alignment with the provider’s documented requirements.

Resolution steps

Correct only the failed layer demonstrated by evidence: enable the email, repair the recipient, authenticate through a reputable provider, publish the provider-issued DNS values, fix sender alignment, or work with the receiving mail administrator. Re-test with a new unique subject and preserve the event result.

Escalation conditions

Escalate with sanitized SMTP response codes, timestamps, provider event IDs, DNS query results, and the affected sending domain when authentication succeeds but the provider rejects, defers, or suppresses delivery. Never include passwords or full customer data.

Customer-safe explanation

“WordPress handed the message to the configured mail system, but that step alone does not confirm inbox delivery. We are checking the mail-provider response and the domain authentication records to identify where delivery stopped.”

Still investigating?

Record the exact symptom, affected scope, timestamp, recent changes, and non-secret evidence before escalating. Do not send passwords or unnecessary customer data.