The most dangerous email failure is the one nobody notices: the order confirmation, the invoice, the password reset that quietly never lands. Customer goes through checkout, the money moves, the confirmation doesn't arrive — and the next six messages are from the support team, not the customer. Unlike marketing email, transactional mail has no 'spam folder most of the time' — it either delivers or it doesn't, and every miss has a paper trail you can follow. Most breakages are one of the same few places.
Check these first, yourself
Look at the exact moment it fails: does the email send at checkout, invoicing, and password resets, or only on one trigger? One broken trigger is a code bug; everything silent is the mail pipeline.
Check the logs of whichever app sends mail (Shopify, WooCommerce, your SMTP provider). Every transactional send leaves a line — accepted, queued, bounced — and the first failure shows up there.
Send a test to three addresses: your own inbox, a free inbox (Gmail), and a work inbox. Failing on only one tells you about that provider's filters, not your setup.
Verify DNS — The internet's address book: it turns your domain name into the server visitors actually reach. is current: look up SPF — A DNS record listing which servers may send email as your domain; missing or wrong, your mail lands in spam., DKIM — A digital signature added to your emails proving they really came from your domain and were not altered. and DMARC — A DNS policy telling mailbox providers what to do when a message fails its SPF or DKIM checks. records for your sending domain. A checkout invoice signed with a record that expired at renewal delivers nowhere.
Should you fix it yourself or call a rescue?
Still have questions?
Why would a confirmation email never arrive but spam still land?
They are different pipelines. Marketing email is pushed by a provider that fights whitelisting; transactional email is pulled by triggers and delivered through SMTP with its own authentication. A broken trigger, a full queue, or an expired DNS record kills confirmations while marketing keeps flowing.
Is a confirmation email going to spam, or not sent at all?
The biggest mistake is guessing. Transactional systems log every send, so the answer is in the logs: 'accepted' means it left your server, 'bounced' means your SPF/DKIM/DMARC failed, and neither means it was silently dropped. Check the log before touching DNS.
What if it's only some customers who don't get theirs?
Then it's probably their provider, or a records problem on your side that only affects some domains after a DNS change. A test to Gmail, a work address, and an outlook address will usually expose the pattern in under ten minutes.