The order email your customer never got
2026-09-29 · Yodsira
From the shop's side, everything worked: payment confirmed, order in the admin, receipt queued. From the customer's side, nothing happened — no confirmation, no receipt, no tracking number. If your product is digital, the customer may have paid and received nothing at all. And the worst part: WordPress will not tell you. A failed email is not an error on any screen; the send attempt is made, the result is discarded, and the day continues.
Where order emails actually die
- The send never happened. PHP mail() failed, the SMTP server rejected the connection, or a plugin conflict broke the mail queue. WordPress often swallows the failure silently.
- The send happened once, and failed once. SMTP servers hiccup — a greylisting server asks you to retry in a few minutes, a timeout hits. One attempt, no retry, message lost.
- The send succeeded and landed in spam. A different problem with different fixes (SPF/DKIM/DMARC, sending reputation) — but from the customer's chair it looks identical.
The first two are the silent ones, and they are more common than shop owners assume — a busy store sending hundreds of transactional letters through a shared hosting mail server loses a percentage every single day.
The three-layer fix
First: send through real SMTP instead of PHP mail(), with proper authentication. That alone removes a large share of silent failures. Second: log every outgoing letter — who, to whom, when, with what result. "We think it sent" is not a status; a log is. Third: retry with a schedule. Most transient failures clear within minutes; a letter retried at 1, 5 and 30 minutes effectively cannot be lost to a hiccup — and when every retry has failed, someone must be told, because at that point it is not a hiccup anymore.
That third layer is exactly what our Mail Watchdog adds: automatic retries at configurable intervals, an alert only after all of them are exhausted (no noise for every hiccup), a preview of every logged email, resend with a corrected recipient for the typo cases, and a weekly digest of sent, failed and retried. But the architecture matters more than the tool: SMTP, a log, and retries. Any shop that has ever had a customer say "I paid but got nothing" — and every shop eventually does — already knows why.