WordPress sites are unique among site-builder platforms because you actually own the infrastructure. Unlike Tilda or Wix, you can install any plugin, point outgoing mail at any ESP, and authenticate on your own domain. But plugin choice still matters — Contact Form 7, WPForms and Gravity Forms each ship with different default outbound behaviour, and the default is what most sites run.
This article compares the out-of-the-box deliverability of the three most popular form plugins, then gives the one configuration change that flattens the difference.
Out-of-the-box, none of them are great. The plugin rarely matters once you install WP Mail SMTP or Fluent SMTP and point outgoing mail at a proper ESP. The real variable is your outbound mail configuration, not the form plugin.
The three default behaviours
Contact Form 7 (CF7)
- Uses PHP's native
wp_mail(), which defaults to PHPmail(). - Outgoing mail leaves your hosting server with a
wordpress@yourdomain.comenvelope by default. - If your host is shared (Bluehost, HostGator, SiteGround baseline) the IP reputation is terrible. Expect Gmail Promotions, Outlook Junk.
- Zero outbound logs unless you install a mail logging plugin.
WPForms (Lite and Pro)
- Also uses
wp_mail()by default. - Optionally bundles WP Mail SMTP (same publisher) with guided setup.
- Default From and Reply-To are easier to set correctly via the UI than in CF7.
- Better logs on Pro plans.
Gravity Forms
- Uses
wp_mail(), same underlying issue on default installs. - Best-in-class notification routing (conditional, multi-recipient, merge tags).
- Add-ons for SMTP2GO, SendGrid and Mailgun that plug directly into notifications.
- Logging add-on surfaces delivery status.
The common problem: wp_mail() over PHP mail()
All three plugins default to wp_mail(), which by default delegates to PHP's mail() function and ultimately to your web host's shared outbound MTA. That MTA:
- Has shared IP reputation across every WordPress site on the box.
- Has no DKIM signing capability on most budget hosts.
- Sends from a headless
www-data@host.examplethat fails DMARC alignment on your domain.
Gmail, Outlook, Yahoo all downrank this pattern in 2025+. The notification may get accepted, but it quietly lands in Promotions or Junk on most providers.
Install WP Mail SMTP or Fluent SMTP and point it at any real ESP: SendGrid, Postmark, Mailgun, Amazon SES, Brevo, or your Google Workspace via OAuth. This bypasses the PHP mail() hop entirely. Placement jumps by 20–40 percentage points in one deploy.
Which ESP to point at
For low-volume form notifications (under 1k/month) the winners are:
- Google Workspace OAuth. If you already run a Workspace tenant, this is the highest placement option because you're essentially sending Gmail-to-Gmail.
- Postmark transactional. Dedicated transactional IP, clean reputation, free tier covers form use.
- Amazon SES. Dirt cheap. Requires DNS setup but pays off at scale.
Avoid pointing at a marketing-only ESP like Mailchimp for form notifications — those pools optimise for opens on large lists, not for single-recipient transactional mail.
Then configure DNS on your domain
SPF on yourdomain.com:
v=spf1 include:spf.postmarkapp.com ~all
DKIM (provider-issued selector):
postmark._domainkey.yourdomain.com TXT "k=rsa; p=MIGfMA0G..."
DMARC starter:
_dmarc.yourdomain.com TXT "v=DMARC1; p=none;
rua=mailto:dmarc@yourdomain.com"Once SPF + DKIM are aligned and DMARC reports start coming in, tighten to p=quarantine after 14 days of clean data. That moves placement another 5 to 10 points on Outlook specifically.
Seed test before and after
If you want to prove the effect, seed test your current config first, then install WP Mail SMTP, configure an ESP, re-test. You'll see the placement flip on every major provider. The form plugin brand name hardly shifts the numbers — the outbound pipe does all the work.
Recommendation
- You already use CF7: install WP Mail SMTP, point at Postmark or Workspace OAuth. Done.
- Starting fresh for a small business site: WPForms Lite + WP Mail SMTP (same publisher) is the path of least resistance.
- You need conditional logic, multi-step, heavy routing: Gravity Forms. Same SMTP setup, but Gravity's notification engine is in a different league.