WordPress and commerce reliability
WordPress not sending email: a diagnostic runbook
Trace generation, queueing, transport, authentication and delivery in order.
When WordPress says a form was submitted, it usually means application code reached the mail handoff—not that a recipient accepted the message. Debug the chain in order: form event, WordPress mail call, queue or cron, transport, provider response, DNS authentication and recipient delivery. WordPress, WordPress
| Layer | Test | Evidence | Likely owner |
|---|---|---|---|
| Form | Submit a minimal test | Stored entry and application log | Site developer |
| WordPress | Trigger a known wp_mail path | Mail logging entry or PHP error | Developer or host |
| Queue | Inspect cron and background jobs | Pending/failed job with timestamp | Developer or host |
| Transport | Test host mail or SMTP plugin connection | SMTP response and provider message ID | Host or email admin |
| Authentication | Inspect received header | SPF, DKIM and DMARC alignment | DNS/email admin |
| Recipient | Compare providers and folders | Bounce, complaint or filter result | Email operations |
Diagnostic runbook
- 1
Preserve the submission
Configure the form to store entries or send them to a controlled log. Do not make email the only copy of a business lead.
- 2
Enable scoped logging
Use a maintained mail logging tool temporarily, reproduce one message, then note sender, recipient, time and any PHP error.
- 3
Check the queue
Confirm WordPress cron or the host's job runner is executing. A healthy SMTP service cannot send a job that remains pending.
- 4
Test authenticated SMTP
Configure an SMTP plugin with a dedicated credential and matching From identity. Capture the server response instead of repeatedly clicking send.
- 5
Verify DNS authentication
Confirm the actual sender passes DKIM and aligns with the visible From domain under DMARC.
- 6
Test outside recipients
Use at least two unrelated providers. Inspect spam folders and full headers; do not conclude success from one inbox.
Production fix acceptance
- Form entries are retained independently
- A single maintained SMTP plugin is active
- Credential is dedicated and recoverable
- Queue executes reliably
- Provider returns a message ID
- SPF/DKIM/DMARC results match the intended domain
- Bounces reach an owner
- Mail logging is minimized after diagnosis
If the website sends only a few notifications, a reliable authenticated mailbox or transactional provider may be sufficient. At higher volume or for receipts and password resets, separate application mail from human mailboxes and add event handling. Venmail is useful when the same organization also needs custom-domain mailboxes and guided administration; a developer-only API may be a better fit for a pure application workload.
Ready for the next practical step?
Use Venmail when its mailbox, migration and administration model fits—and keep your domain under your control.
Discuss your email infrastructureRelated practical guides
Cloudflare Email Routing vs email hosting: what businesses actually need
Choose forwarding or a real mailbox without confusing DNS management with email hosting.
Read the guideHow to switch email provider and keep the same address
Move mailboxes, DNS and devices without changing the address customers know.
Read the guideSources and review method
Venmail publishes this guide and may be one of the products discussed. We compare providers on consistent dimensions, link to primary documentation and state non-fit cases. Product limits and pricing should be rechecked before purchase.
- WordPress: FAQ Troubleshooting: emailed passwords are not being received (accessed 2026-08-15)
- WordPress: Site Health screen (accessed 2026-08-15)
- DMARC.org: DMARC overview (accessed 2026-08-15)