Setup guide · a few minutes, plus DNS time · works with any form plugin

Set up SecureSMTP SMTP in a few minutes, plus DNS time

Install the plugin, paste your API key, add your sending domain, flip a switch. Every email your WordPress site sends (Contact Form 7, Gravity Forms, Forminator, WPForms, Elementor Pro, password resets, WooCommerce receipts) now ships through our DKIM-signed relay.

Free plan: 5,000 emails/month — no card required

Before you start

WordPress admin access

You can install plugins and edit options.

A free SecureSMTP account

Sign up at securessmtp.com if you don't have one.

DNS access

Needed to verify your own sending domain. New accounts send only from their own verified domain.

1

Install the SecureSMTP plugin

Download the latest plugin zip (v1.25.0) and upload it to WordPress like any other plugin.

Option A — Direct download

Download securessmtp.zip

~160 KB · WordPress 6.0+ · PHP 8.0+

Option B — WordPress.org

Once our WordPress.org listing is approved, search “SecureSMTP” in Plugins → Add New inside your WP admin. The listing is still under review, so use Option A for now.

Same plugin as the zip in Option A.

Then in WordPress:

  1. Plugins → Add New → Upload Plugin
  2. Pick the downloaded zip and click Install Now
  3. Activate.
2

Connect with your API key

SecureSMTP authenticates each WordPress site with a per-site API key. Generate one in your dashboard, then paste it into the plugin.

In SecureSMTP dashboard

  1. Go to Forms → Sites → + Add Site
  2. Name the site and paste its URL
  3. Copy the key shown — you only see it once

In WordPress

  1. Go to SecureSMTP → Settings
  2. Paste the API key
  3. Save. The connection badge turns green.
SecureSMTP → Settings (preview)
qcs_live_••••••••••••••••••••••••3f8aConnected

Last seen 4 seconds ago · securessmtp.com

3

Turn on SMTP routing

Open the dedicated SMTP page added by the plugin — you'll find it in the SecureSMTP menu in the WP sidebar.

SecureSMTP → SMTP (preview)

Route outgoing email through SecureSMTP

When ON, every wp_mail() call in your site is intercepted and sent through our DKIM-signed relay.

Sender mode

Relay

Shared address

Mail comes from our domain. For test emails to yourself and for older accounts during the grace period.

Domain

DKIM signed

Mail comes from YOUR domain, DKIM signed. Add 1 DNS record (3 in Advanced mode). New accounts send this way.

Auto

Smart

Uses your domain once it is verified. Recommended.

💡
New accounts: use Domain or Auto, and add your domain in Step 4. Until your domain is verified, a new account can send up to 10 test emails a day to its own address. Older accounts can keep using Relay for a limited time. Auto switches to your domain the moment your DNS records verify.
4

Verify your own domain for DKIM-signed mail

New accounts need this step to send. Older accounts can keep using Relay mode for a limited time. Add a domain so emails come FROM your own address (e.g. [email protected]) with proper DKIM authentication.

  1. 1
    In the SecureSMTP dashboard, open Sending domains in the menu and click Add domain
  2. 2
    Enter the domain you want emails to come from
  3. 3
    We show you the DNS records to add at your registrar / Cloudflare. Simple mode (the default) is 1 DKIM TXT record. Advanced mode adds an MX and an SPF record on a bounce subdomain, 3 records in all:
    TypeHostValue (example)Purpose
    TXTsecuressmtp._domainkeyv=DKIM1; k=rsa; p=MIIB…DKIM signing (Simple and Advanced)
    MXbouncemx1.securessmtp.comBounces (Advanced only)
    TXTbouncev=spf1 ip4:… -allSPF on the bounce subdomain (Advanced only)

    Actual values shown in your dashboard with one-click copy.

  4. 4
    Add the records, click Verify. DNS usually takes a few minutes to publish, sometimes longer (fresh nameservers can take a few hours).
  5. 5
    Back in the WP plugin, switch sender mode to Domain (or leave on Auto and it switches itself).
!
Gotcha: many DNS hosts add your domain to the name for you. Then enter only securessmtp._domainkey (and bounce), not the full name. Your domain's existing SPF record stays as it is: in Advanced mode the SPF record goes on the bounce subdomain.
5

Send a test + read the log

Inside the plugin's SMTP page, click Send test email — we fire a tiny message to your admin address through the full pipeline.

✓ Expected

  • WP screen: green "Test sent ✓"
  • Inbox: mail arrives within 10s
  • SecureSMTP dashboard → Email log: row appears with sent

⚠ If it doesn't arrive

  • Check your spam folder first (one-off, then whitelist)
  • In the Email log: did the row show failed? The error column tells you why.
  • See troubleshooting below.
💡
Now any plugin that calls wp_mail() — Contact Form 7 notifications, Gravity Forms confirmations, WooCommerce order receipts, password resets — flows through SecureSMTP automatically. You don't need to configure each plugin separately.

Works with everything that calls wp_mail()

No per-plugin configuration. Once SMTP routing is on, we intercept wp_mail() at the WordPress level — so any plugin that uses it is automatically routed through us.

Contact Form 7Gravity FormsForminatorWPFormsElementor Pro FormsWooCommerceEasy Digital DownloadsMemberPressLearnDashBuddyPress / BuddyBossPassword resets (wp-login)Comment notificationsAny plugin using wp_mail()

Troubleshooting

The six things that account for ~95% of setup hiccups.

The plugin says “Not connected” after pasting the API key.

Three usual causes: (1) you copied the masked display string (starts with qcs_live_••) instead of the full key — go back to API keys and click Regenerate; (2) your server is blocking outbound HTTPS to securessmtp.com — ask your host; (3) you registered a different site URL than the one you're installing on.

Test mail goes to spam.

That's rare but possible — Gmail/Outlook are conservative for first-touch senders. Mark it as "Not spam" once; it sticks. For the lowest spam-folder risk, send from your own verified domain (Step 4) so your real domain's reputation carries the mail.

My Contact Form 7 / Gravity emails aren't showing in the log.

Verify SMTP routing is ON (Step 3 toggle) and submit a fresh form. The first send after enabling can take 30s to populate the log. If still missing, check the form plugin's own mail mode — some (e.g. Gravity Forms) can be configured to use a separate SMTP plugin that bypasses wp_mail(); switch it back to default WordPress mail.

Domain verification keeps failing.

DNS propagation can take up to a few hours for some registrars (looking at you, GoDaddy). Try dnschecker.org to confirm your TXT records are live globally before clicking Verify again. A common cause of failure is a record name with your domain added twice, because the DNS host already adds it for you.

I'm on a managed host (WP Engine, Kinsta) — does this work?

Yes. Managed hosts that block standard SMTP ports (25, 465, 587) don't affect us — SecureSMTP uses outbound HTTPS, which they all allow. We're a drop-in for their built-in transactional mail, often more reliable for forms.

Quota — what counts and what doesn't?

Every successfully relayed message counts as 1. Refused (over quota, spam-flagged) and fallback-to-native mails don't count. Domain mode sends to your verified domain are also counted against your monthly quota — same plan limits apply whether you use Relay or Domain.

Ready to ship reliable WordPress mail?

5,000 emails/month free, no card. Upgrade only when you outgrow it.

Need help? Email [email protected] — we'll get you set up.