Email Deliverability

If your customers aren’t receiving estimate receipts, or your owner alerts are landing in spam, this page covers why and how to fix it.

The Short Version

WordPress sends email via a function called wp_mail(). Out of the box, wp_mail() defers to your hosting provider’s PHP mail setup. On most shared hosts and on WP Engine, that is an unauthenticated, unsigned mail handoff — which Gmail, Outlook, Yahoo, and other major inbox providers reject or quarantine by default.

The Fix: Install a free SMTP plugin and connect it to a transactional mail service that signs your outgoing mail with SPF and DKIM. Once configured, deliverability typically goes from “lands in spam half the time” to “lands in inbox 99% of the time.”

Why This Is a Problem

A typical estimate email from ApproxIt is:

  • Sent from estimates@yourbusiness.com (your From Email setting)
  • Sent by php-fpm on your hosting server
  • Not signed by anything (no SPF/DKIM record matches the From domain)

Gmail receives this and asks: “Did yourbusiness.com authorize your-host-server to send mail on its behalf?” The answer is no—there is no SPF record allowing it, and no DKIM signature proving it. Gmail responds by quarantining it to spam, or in some cases, silently rejecting it.

The fix is to route mail through a service that is authorized to sign on behalf of yourbusiness.com.

Recommended SMTP Plugins

Any of these will work. Pick whichever you find easiest to configure. All three are free.

WP Mail SMTP

The most popular SMTP plugin on WordPress.org. Supports SendGrid, Mailgun, Amazon SES, SMTP2GO, Gmail/Workspace OAuth, Microsoft 365 OAuth, and plain SMTP. The free tier gives you everything you need to connect any single provider; paid tiers add multi-provider failover and advanced logging.

FluentSMTP

A fully free alternative—no upsells, no premium tier. Same provider support: SES, SendGrid, Mailgun, SMTP2GO, plain SMTP. Includes an email log viewer so you can see exactly what was sent and whether it bounced. Built by the FluentCRM team.

Post SMTP

Strong choice if you want to send via your existing Gmail or Microsoft 365 account using OAuth (no app passwords needed). Free, with email logs included.

Recommended Sending Services

Once you have an SMTP plugin installed, you need to connect it to a service. Free tiers from these providers cover most small businesses:

ServiceFree TierNotes
SendGrid100 emails/day forever freeIndustry standard, easiest setup.
Amazon SES62,000/month free if sent from EC2, otherwise $0.10/1000Cheapest at volume; setup is a bit more involved.
Mailgun5,000/month free for 3 months, then $1/1000Strong logging and analytics.
SMTP2GO1,000/month free foreverEasiest UI, great for non-technical users.
Postmark$15/month for 10k emailsNo free tier, but best-in-class deliverability.

For most ApproxIt users—small businesses generating tens to hundreds of leads a month—SendGrid free or SMTP2GO free are the easiest starting points.

Setting It Up (High Level)

The exact steps depend on which provider and SMTP plugin you choose, but the general flow is:

  1. Sign up for the sending service. Verify your email and (importantly) add your business domain to the service.
  2. Authenticate your domain. The service will give you DNS records to add—typically a TXT record for SPF and one or two CNAMEs for DKIM. Add these in your DNS host (your domain registrar or wherever your DNS lives).
  3. Wait for verification. DNS propagation usually takes 5 minutes to a few hours. The service will show “Verified” once it sees the records.
  4. Get an API key or SMTP credentials from the sending service.
  5. Install your SMTP plugin in WordPress and paste the credentials in.
  6. Send a test email from the SMTP plugin’s settings page. It should arrive within seconds, not minutes, and not in spam.
  7. Submit a test lead through ApproxIt and confirm both the customer receipt and owner alert land in the inbox.

The whole setup takes 15–30 minutes if you are comfortable editing DNS records. If your DNS is at a domain registrar that confuses you, ask your IT person, or use the SMTP plugin’s onboarding wizard—most walk you through the DNS step.

Make Sure Your From Email Matches

The single most common deliverability mistake: setting From Email in ApproxIt to a free-provider address like estimates@gmail.com or acme@yahoo.com.

These addresses look fine to a human, but to inbox providers they are a red flag—Gmail rejects mail “from” Gmail addresses that were not actually sent through Gmail. The same goes for Yahoo, Outlook, and other free providers.

Your From Email should always live on a domain you control and have authenticated with your sending service. Examples:

  • estimates@acmelawn.com
  • hello@johnscleaning.com
  • johnscleaning@gmail.com
  • acmelawn@yahoo.com

ApproxIt Pro Users: Built-In SendGrid

If you are on ApproxIt Pro, you can skip the SMTP plugin entirely. Pro includes a built-in SendGrid integration:

  1. Sign up at SendGrid (free tier is fine for most users).
  2. Authenticate your domain in SendGrid (same DNS records as above).
  3. Get an API key from SendGrid.
  4. Paste it into Estimators → Settings → Communications → SendGrid API Key.

Once that is set, ApproxIt routes every estimate email through SendGrid directly. The wp_mail() path is bypassed. No SMTP plugin needed.

How to Know If It Is Working

After setup, submit a test lead through your published estimator (using a real customer email like your personal Gmail). Then:

  • Check your Gmail inbox—receipt should arrive within a minute, in the primary inbox (not spam, not promotions).
  • Click the three-dot menu and Show original—you should see “DKIM: PASS” and “SPF: PASS” in the headers. If both pass, your setup is working.
  • The “Sent from” line should reference your sending provider (e.g., sendgrid.net), not your hosting provider.

If receipts still land in spam, double-check:

  • Your From Email is on your authenticated domain.
  • Your SPF and DKIM records show “Verified” in your sending service.
  • You haven’t sent a flood of test emails in a short period (some providers throttle new domains for the first week).

Still Stuck?

If you have installed an SMTP plugin, verified DNS, and emails still do not arrive: the issue is almost always one of these three things, in order of frequency:

  1. DNS records weren’t fully verified — Recheck in your sending service.
  2. From Email is on a free-provider domain — Must be your own domain.
  3. Plugin’s API key is wrong — Regenerate it and try again.

If none of those, contact your SMTP plugin’s support (they are the experts on the SMTP plumbing) and they will get you sorted in a single ticket.