Contact form that does not end up in spam

Nothing is more frustrating than missed messages from potential customers. Many WordPress contact forms suffer from this problem: emails end up in the spam folder or do not arrive at all. In this article, you will learn how to set up a reliable contact form that always lands in the inbox.

Why do form messages end up in spam?

Email servers use various checks to detect spam. Form messages often fail because:

  • The sender is not verified (missing SPF/DKIM)
  • The From address differs from the server sending the mail
  • The content looks like spam (certain words, links)
  • The sending IP reputation is bad
  • There is no authentication via SMTP

Setting up Contact Form 7 correctly

Contact Form 7 is the most popular free form plugin. Here is how to set it up optimally:

Installation

  1. In WordPress, go to Plugins > Add New
  2. Search for "Contact Form 7"
  3. Install and activate the plugin
  4. Go to Contact > Contact Forms

Configuring the form

The default form contains the basics. Important adjustments:

Mail tab settings:

  • To: Your own email address
  • From: Use the email address of your website, not the filled-in address
  • Reply-To: Here you put the filled-in email address so you can reply directly

Example From field:

Example Reply-To:

This ensures the mail technically comes from your own domain, but you can still reply directly to the visitor.

WPForms as an alternative

WPForms is more user-friendly with a drag-and-drop builder:

  1. Install WPForms Lite (free) via Plugins
  2. Go to WPForms > Add New
  3. Choose a template (Simple Contact Form)
  4. Customize fields with the builder
  5. Configure notifications correctly

Notification settings

  • Send To Email: Your email address
  • From Name: Name of your website
  • From Email: An address on your own domain
  • Reply-To: The smart tag for the email field

Configuring SMTP for reliable delivery

The standard PHP mail function is unreliable. SMTP solves this by sending emails via an authenticated connection.

WP Mail SMTP plugin

  1. Install "WP Mail SMTP" plugin
  2. Go to WP Mail SMTP > Settings
  3. Choose "Other SMTP" as mailer

SMTP settings for Theory7

With Theory7 hosting, use these settings:

  • SMTP Host: mail.yourdomain.com
  • Encryption: TLS
  • SMTP Port: 587
  • SMTP Username: Your full email address
  • SMTP Password: The password for that email address

More information about SMTP configuration can be found in our article about WordPress Email SMTP.

Test your configuration

After setting up:

  1. Go to WP Mail SMTP > Tools > Email Test
  2. Send a test email to yourself
  3. Check if it arrives in your inbox (not spam)

Checking SPF and DKIM records

SPF and DKIM tell receiving servers that your server is authorized to send mail on behalf of your domain.

SPF record

An SPF record looks like this:

Check your SPF record:

  1. Log into DirectAdmin
  2. Go to DNS Management
  3. Find the TXT record for SPF
  4. Add missing sources if needed

DKIM record

DKIM adds a digital signature to your emails:

  1. In DirectAdmin, go to Email Accounts
  2. Find the DKIM option
  3. Activate DKIM for your domain
  4. The DNS record is automatically created

Read more about SPF records and DKIM verification in our knowledge base.

Anti-spam protection

Spam filters also look at how your form is protected against abuse.

Honeypot fields

A honeypot is an invisible field that only bots fill in:

Contact Form 7: Install the "Honeypot for Contact Form 7" plugin and add to your form:

WPForms: Go to Settings > Spam Protection and enable the honeypot.

reCAPTCHA integration

Google reCAPTCHA prevents automated spam:

  1. Go to google.com/recaptcha
  2. Register your site and choose reCAPTCHA v3 (invisible)
  3. Copy the Site Key and Secret Key
  4. In Contact Form 7: go to Contact > Integration > reCAPTCHA
  5. Fill in both keys
  6. Add the reCAPTCHA tag to your form

Cloudflare Turnstile

As an alternative to reCAPTCHA, you can use Cloudflare Turnstile. This is more privacy-friendly and just as effective.

Optimizing form content

Some content triggers spam filters. Avoid:

  • All capital letters in subject or message
  • Many exclamation marks or special characters
  • Suspicious words (free, click here, etc.)
  • Too many links in messages

Setting a clear subject

Use a consistent subject that does not look like spam:

Testing and monitoring

Send test messages

  1. Fill in your own form with different email addresses
  2. Test with Gmail, Outlook, and other providers
  3. Check with each provider if the message arrives

View mail logs

Install "WP Mail Logging" to log all sent emails. This way you can see exactly what is being sent and if errors occur.

Checklist for reliable forms

  • SMTP plugin installed and configured
  • From address is an address on your own domain
  • SPF record correctly set
  • DKIM activated
  • Honeypot or reCAPTCHA active
  • Reply-To field used for visitor address
  • Test email successfully received

With this configuration on Theory7 hosting, your form messages will reliably arrive in your inbox.