FluentSMTP is a free WordPress plugin that replaces the unreliable default wp_mail() email sending with a configured connection to a dedicated email sending service. Without SMTP configuration, WordPress emails – password resets, order confirmations, contact form notifications, admin alerts – are sent through your server’s PHP mail() function, which most hosting providers throttle or block and which major email clients (Gmail, Outlook) treat as spam. FluentSMTP solves this in 10 minutes.
Why WordPress Emails Fail by Default
PHP mail() has no authentication mechanism. When your server sends an email claiming to be from yourdomain.com, the receiving server has no way to verify the claim. Modern spam filters require SPF, DKIM, and DMARC authentication on outgoing email. Without these, emails either land in spam or are rejected entirely. A dedicated SMTP service handles authentication on your behalf – when you send through SendGrid or Postmark via FluentSMTP, the email is authenticated under their sending infrastructure which has established deliverability reputation.
The fix is straightforward: install FluentSMTP, connect it to an SMTP provider, and all WordPress email (core WordPress, WooCommerce, form plugins, FluentCRM) routes through that authenticated connection automatically.
Step 1: Choose Your SMTP Provider
FluentSMTP supports: Gmail/Google Workspace, SendGrid, Mailgun, SparkPost, Amazon SES, Brevo (formerly Sendinblue), Postmark, Outlook/Microsoft 365, and generic SMTP. The right choice depends on your sending volume and preferences:
- Gmail/Google Workspace – simplest setup for low-volume sending (under 500 emails/day). Free with Google Workspace. Not suitable for bulk marketing.
- Brevo free tier – 300 emails/day free, no credit card required. Good starting point for small sites.
- Postmark – excellent deliverability, easy setup, $15/month for up to 10,000 emails. Best choice for transactional emails where reliability matters most.
- Amazon SES – cheapest at scale ($0.10/1,000 emails), requires AWS account setup, more technical configuration. Best for high volume.
- SendGrid free tier – 100 emails/day free, then paid tiers. Good middle ground.
Need help setting up the Fluent plugin stack? Describe your project and get a free estimate.
Step 2: Configure FluentSMTP
Install FluentSMTP from WordPress.org. Go to Settings -> FluentSMTP. Click “Add Connection” and select your provider. Each provider requires different credentials:
- Gmail: OAuth connection – click Connect with Google and authorise. No API keys needed.
- SendGrid: API key from your SendGrid account (Settings -> API Keys -> Create API Key).
- Postmark: Server API Token from your Postmark server settings.
- Amazon SES: AWS Access Key ID and Secret Access Key with SES permissions.
After entering credentials, send a test email from FluentSMTP’s test panel. Verify it arrives in the inbox and check the email headers to confirm SMTP delivery (not PHP mail).
Step 3: Email Logging
Enable email logging in FluentSMTP settings. With logging active, every email WordPress sends is recorded in the FluentSMTP log with: recipient, subject, sending status (success or failed), error message if failed, and the full email content. This log is invaluable for diagnosing why specific emails are not arriving – you can see whether the email was sent successfully (which means the issue is on the recipient’s end) or failed at sending (which points to a configuration issue).
Check the log after setting up FluentSMTP initially to confirm all email types are routing through it correctly. Place a WooCommerce test order and verify the order confirmation email appears in the log as sent via your configured provider.
FluentSMTP With Multiple Sending Providers
FluentSMTP supports multiple sending connections with routing rules. Route marketing emails (FluentCRM campaigns) through Amazon SES (cheap at volume) and transactional emails (WooCommerce order confirmations) through Postmark (high deliverability). Configure the routing in FluentSMTP’s connection settings – set each connection to handle specific from-email addresses or email types. This separation of marketing and transactional sending is a best practice that prevents marketing bounce issues from affecting transactional email reputation.
Setting Up SPF, DKIM, and DMARC for Your Sending Domain
FluentSMTP routes your email through a professional SMTP provider, but you still need to configure DNS authentication records for your domain to achieve the best deliverability. These three records tell receiving mail servers that your email is legitimate:
SPF (Sender Policy Framework) – a DNS TXT record listing which mail servers are authorised to send email from your domain. Your SMTP provider’s documentation shows the exact value. For SendGrid it looks like:
v=spf1 include:sendgrid.net ~all
DKIM (DomainKeys Identified Mail) – a cryptographic signature your SMTP provider adds to emails. You add their public key as a DNS record. SendGrid, Postmark, and others provide the exact CNAME or TXT records to add in your domain DNS settings.
DMARC – a policy that tells receiving servers what to do with email that fails SPF or DKIM. Start with a monitoring-only policy:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
Once you confirm legitimate email is passing authentication, move to p=quarantine then p=reject to prevent spoofing. Configure these records in your domain’s DNS settings (Cloudflare, Namecheap, GoDaddy, or your hosting provider’s DNS panel). Most SMTP providers have a deliverability checklist that walks through the exact records needed for their platform.