WordPress sends transactional emails — order confirmations, password resets, comment notifications — through PHP mail() by default, which fails silently or lands in spam on most modern hosting. Services like SMTP2GO fix this. Here is how it works.
Why PHP mail() Fails
PHP mail() uses the server’s local mail transfer agent (Sendmail or Postfix) to send email. Modern email providers (Gmail, Outlook, Yahoo) increasingly reject email from shared hosting IPs because:
- Shared hosting IPs are frequently on spam blacklists due to other tenants’ behaviour.
- Emails from PHP mail() often lack proper SPF and DKIM authentication records.
- Many hosting servers have no reverse DNS (PTR record) set up for their mail IP.
The result: WordPress emails that appear to send successfully (no PHP error) but never arrive, or land directly in spam.
How SMTP Delivery Works
SMTP (Simple Mail Transfer Protocol) is the standard protocol for sending email between servers. When you configure WordPress to use SMTP2GO’s SMTP server, outgoing WordPress email is handed to SMTP2GO’s infrastructure rather than the local server mail agent. SMTP2GO’s servers are properly configured with SPF, DKIM, and DMARC records, have clean IP reputations, and handle delivery to major inbox providers reliably.
The SMTP2GO plugin connects WordPress’s wp_mail() function to SMTP2GO’s SMTP server using your account credentials.
SMTP vs API Sending Mode
SMTP2GO offers two delivery modes:
- SMTP mode — WordPress connects to smtp.smtp2go.com on port 587 (TLS) or 465 (SSL) using SMTP credentials. Standard and widely supported.
- API mode — WordPress sends email data to SMTP2GO’s HTTP API endpoint. The API call is faster than an SMTP handshake and not affected by SMTP port blocking that some hosting providers apply.
If your host blocks outbound SMTP ports (25, 465, 587), SMTP delivery will fail silently. Use API mode in that case. If SMTP ports are available, both modes work equally well.
Configuring SMTP2GO in WordPress
- Create an SMTP2GO account at smtp2go.com.
- Go to Sending, then SMTP Users and create a new SMTP user. Note the username and password.
- Install the SMTP2GO WordPress plugin.
- Go to SMTP2GO in the WordPress admin and enter your SMTP2GO SMTP username and password.
- Select the delivery method (SMTP or API).
- Use the Send Test Email feature to confirm delivery is working.
Setting Up SPF and DKIM for Better Deliverability
Even with SMTP2GO, email sent from your domain benefits from SPF and DKIM DNS records that authorise SMTP2GO to send on your behalf. In your SMTP2GO account, go to Sending Domains and add your domain. Follow the instructions to add the required DNS TXT records at your domain registrar. After DNS propagates (up to 48 hours), SMTP2GO verifies the records and your emails are sent with full authentication.
Monitoring Email Delivery
SMTP2GO’s dashboard shows email logs including delivery status, opens, bounces, and spam complaints. Check this regularly to catch deliverability problems. A high bounce rate indicates invalid email addresses in your WordPress system. A high spam complaint rate indicates your email content or sending practices need adjustment.
For email infrastructure setup including SPF, DKIM, DMARC configuration, and WooCommerce transactional email optimisation, a WordPress developer can configure reliable email delivery for your site.