Email hosting where a receipt actually reaches the inbox.
WordPress sends password resets, order receipts and form notifications through a function that reports success whether or not anything was delivered.
mail() returns true and nothing arrives.
Every silent email problem on WordPress starts with a function whose success value means the message was handed over, not delivered.
Authenticated sending, not the PHP default
Mail sent directly from a web server has no reputation and usually no alignment. Sending through an authenticated provider is the single change that fixes most delivery problems.
SPF, DKIM and DMARC that agree
Receiving servers check whether the sending domain authorised the sender. Records that exist but do not align are the reason mail lands in spam rather than bouncing.
Failures you learn about
A password reset that never arrived is a support ticket the user may never open. Send failures are logged rather than discarded, so absence is visible.
Sending that does not block a page
A checkout that waits on an SMTP handshake is a checkout that times out when the mail provider is slow. Sends happen off the request path.
Separate reputations for separate mail
Newsletters and receipts should not share a sending identity. A campaign complaint rate that suppresses your password resets is the failure nobody plans for.
Sent is not delivered.
Almost every WordPress email problem is invisible from inside WordPress. The site believes it sent the message, and the receiving server quietly disagreed.
- Authenticated provider instead of PHP mail()
- SPF, DKIM and DMARC aligned for the sending domain
- Send failures recorded rather than dropped
- Sends executed off the request path
The number is arrival, not speed.
Nobody cares how fast a receipt was generated. They care whether it is in the inbox, and that is decided by authentication and reputation.
What we change for transactional email
The whole problem is a delivery pipeline that reports success at the first step and gets judged at the last.
| Setting | What we do | Why |
|---|---|---|
| Transport | Authenticated provider rather than the PHP mail function | mail() returns success once the message is handed to the local system, so the site cannot distinguish delivered from silently discarded. |
| Domain authentication | SPF, DKIM and DMARC aligned for the sending identity | Records that exist without aligning are worse than none, because mail is accepted and filed as spam instead of bouncing where you would see it. |
| Send execution | Performed off the request path | A checkout waiting on an SMTP handshake fails when the mail provider is slow, turning somebody else's latency into your lost order. |
| Failure logging | Recorded with the reason rather than discarded | A password reset that never arrived produces no error anywhere, so the only way to know is to have written down that the send failed. |
| Identity separation | Transactional and marketing mail sent under different identities | Campaign complaint rates suppress the sending identity, and sharing one means a newsletter can stop your receipts from being delivered. |
Simple, transparent pricing.
Every plan includes free migration, daily backups, SSL and 24/7 support.
- 1 WordPress site
- 10 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Support tickets
- 5 WordPress sites
- 50 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Priority support tickets
- 20 WordPress sites
- 200 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Dedicated support
Questions, answered.
Why do my WordPress emails never arrive?
I have SPF set up and mail still goes to spam. Why?
Should newsletters and receipts use the same sender?
Can sending slow down my checkout?
Make the receipt arrive.
Move the site across. Migration is free, mail authentication reviewed.