Title: DadsFam SMTP
Author: dadsfam
Published: <strong>August 11, 2026</strong>
Last modified: August 12, 2026

---

Search plugins

![](https://ps.w.org/dadsfam-email-smtp/assets/banner-772x250.png?rev=3642806)

![](https://ps.w.org/dadsfam-email-smtp/assets/icon-256x256.png?rev=3642806)

# DadsFam SMTP

 By [dadsfam](https://profiles.wordpress.org/dadsfam/)

[Download](https://downloads.wordpress.org/plugin/dadsfam-email-smtp.2.0.7.zip)

 * [Details](https://wordpress.org/plugins/dadsfam-email-smtp/#description)
 * [Reviews](https://wordpress.org/plugins/dadsfam-email-smtp/#reviews)
 *  [Installation](https://wordpress.org/plugins/dadsfam-email-smtp/#installation)
 * [Development](https://wordpress.org/plugins/dadsfam-email-smtp/#developers)

 [Support](https://wordpress.org/support/plugin/dadsfam-email-smtp/)

## Description

WordPress sends email with PHP’s `mail()` function, which most hosts either block
or deliver straight to spam. **DadsFam SMTP** replaces it with a real authenticated
SMTP connection, so your password resets, contact forms and WooCommerce order emails
actually arrive.

Everything described below works on every site. Nothing is disabled, blurred out,
time-limited or reduced.

#### Set up in about two minutes

Pick your provider from the list and the host, port and encryption fill themselves
in. Enter your username and password, save, then send a test email. The test shows
you the full SMTP conversation, so if something is wrong you can see exactly which
step failed.

#### Supported providers

Gmail, Outlook and Office 365, SendGrid, Mailgun, Amazon SES, Brevo, Postmark, SparkPost,
Zoho Mail, Yahoo Mail, Hostinger, cPanel, and any custom SMTP server.

#### Features

 * **13 pre-configured providers** with automatic host, port and encryption defaults
 * **Per-provider setup notes** built into the interface, including the common gotchas
 * **AES-256-CBC encrypted credentials** — passwords are never stored as plain text
 * **Full sender control** — From Name, From Email, Reply-To and Return-Path
 * **Unlimited email logging** with status, subject, recipient, connection and timestamp
 * **Retention control** — keep logs for as many days as you choose, or forever
 * **One-click resend** of any logged email
 * **Full email body viewer** in a sandboxed preview frame
 * **CSV export** of your entire delivery history
 * **Send test email** with live SMTP diagnostic output
 * **Connection test** that opens a real socket and speaks SMTP, without sending
   anything
 * **Deliverability checker** for SPF, DKIM, DMARC and MX records
 * **Email health score** combining DNS authentication, configuration and real send
   history
 * **Delivery failure alerts** by email
 * **Blocking mode** stops all outgoing mail on staging sites while still logging
   attempts
 * **Suppression list** for addresses and domains that must never be contacted
 * **Analytics** with a seven-day delivery chart and per-connection success rates
 * **WooCommerce diagnostics** — confirm store emails route correctly and test each
   type
 * **Dashboard widget** with sent, failed and success rate at a glance
 * **Backup and migrate** your configuration as JSON
 * **Documented hook API** for developers

#### WooCommerce

DadsFam SMTP hooks in at a late priority, so it wins over WooCommerce’s own From
address settings and your store emails always send from the address you configured.
The diagnostics screen flags any mismatch between the two and lets you test-send
each WooCommerce email type.

Declared compatible with High-Performance Order Storage and Cart & Checkout Blocks.

#### Extending the plugin

The plugin exposes documented actions and filters — `dfsmtp_configure_mailer`, `
dfsmtp_after_configure_mailer`, `dfsmtp_mail_failed`, `dfsmtp_mail_logged`, `dfsmtp_save_settings`,`
dfsmtp_settings_page_end`, `dfsmtp_nav_pages` and others — so you can layer your
own behaviour onto the send pipeline. The full list is documented in the header 
of `dadsfam-email-smtp.php`.

An optional commercial add-on, DadsFam SMTP PRO, is built on this same hook API 
for stores and agencies sending at higher volume. It is a separate plugin and is
not required — this plugin is complete on its own.

#### A word about PRO

Right, let me be straight with you, because I hate being sold to as much as you 
do.

Everything above is free and it stays free. Sending your mail through a proper SMTP
server is not a premium feature. Saving your provider details, encrypting your password,
logging what went out and resending one that failed are not premium features. Those
are things a plugin like this should just do, and if I put them behind a paywall
I would be taking the mickey.

There is a PRO add-on. It exists because I am a dad in Cape Town, and this is one
of the things that puts food on the table at my house. That is the honest reason.
Not “unlock your potential”, not “supercharge your workflow”. Just: if this plugin
got your email sending again and you can spare it, PRO helps me keep building.

What PRO adds is the stuff you only want once you are sending real volume — sending
from more than one mailbox and routing each message to the right one, failing over
to a backup server when your main one has a bad day, retrying failed sends on their
own, open and click tracking, failure alerts into Slack or Discord, and a weekly
delivery digest. That is convenience and automation. It is not the plugin working
properly, because the plugin already works properly.

So if the free one does everything you need, brilliant. Genuinely. Use it, and I
hope it saves you a frustrating afternoon chasing email that will not send. If you
get to the point where the automation would save you real time, PRO is at plugins.
dadsfam.co.za.

Either way, thanks for using something I built. — Zak, DadsFam

PRO adds:

 * Multiple saved SMTP connections
 * Smart routing by subject, sender or recipient domain
 * Automatic failover to a backup server
 * Auto-retry of failed emails
 * Open and click tracking
 * Slack, Discord and webhook failure alerts
 * Weekly delivery digest and hourly send limits

### External services

This plugin does not connect to any service of its own. It has no home-phoning, 
no analytics and no licence checks.

It does, however, exist to hand your website’s email to an SMTP server that **you**
choose and configure. That server is a third party service, and what it receives
is entirely determined by your own settings.

**What is sent:** the emails your WordPress site produces — sender, recipients, 
subject, message body and any attachments — together with the username and password
you entered, so the server will accept them.

**When it is sent:** only when WordPress sends an email, and only once you have 
entered SMTP details and saved them. With no details entered, the plugin sends nothing
anywhere.

**Where it is sent:** to the host you type into the settings, and nowhere else. 
The plugin includes ready-made host and port presets for a number of well-known 
providers purely so you do not have to look them up. A preset is only a shortcut
for filling in the form; selecting one does not contact anybody, and no provider
is contacted unless you have entered credentials for it and WordPress sends an email.

Because you choose the provider, you are agreeing to that provider’s terms. The 
presets included cover, among others:

 * Google Gmail / Workspace — [terms](https://policies.google.com/terms), [privacy](https://policies.google.com/privacy)
 * Microsoft Outlook / Microsoft 365 — [terms](https://www.microsoft.com/en/servicesagreement/),
   [privacy](https://privacy.microsoft.com/en-us/privacystatement)
 * Amazon SES — [terms](https://aws.amazon.com/service-terms/), [privacy](https://aws.amazon.com/privacy/)
 * SendGrid (Twilio) — [terms](https://www.twilio.com/en-us/legal/tos), [privacy](https://www.twilio.com/en-us/legal/privacy)
 * Mailgun — [terms](https://www.mailgun.com/legal/terms/), [privacy](https://www.mailgun.com/legal/privacy-policy/)
 * Postmark — [terms](https://postmarkapp.com/terms-of-service), [privacy](https://postmarkapp.com/privacy-policy)
 * Brevo — [terms](https://www.brevo.com/legal/termsofuse/), [privacy](https://www.brevo.com/legal/privacypolicy/)
 * Zoho Mail — [terms](https://www.zoho.com/terms.html), [privacy](https://www.zoho.com/privacy.html)

If you use your own mail server, or a provider not listed above, then that server
is the only third party involved and its own terms apply.

### Support

Email: support@dadsfam.co.za
 Website: https://www.dadsfam.co.za

## Installation

 1. Upload the `dadsfam-email-smtp` folder to `/wp-content/plugins/`, or install through**
    Plugins  Add New**.
 2. Activate the plugin.
 3. Go to **DadsFam SMTP  Settings** and choose your provider.
 4. Enter your credentials and save.
 5. Go to **DadsFam SMTP  Test & Tools** and send a test email.

## FAQ

### Gmail keeps rejecting my password.

Gmail will not accept your normal account password over SMTP. Turn on 2-Step Verification,
then generate an App Password under Google Account  Security  App passwords, and
use that instead.

### My host blocks port 25.

Almost all do. Use port 587 with TLS, or 465 with SSL. If neither connects, use 
the connection test to confirm whether the problem is the network or your credentials,
then ask your host whether outbound SMTP is permitted.

### Are my SMTP passwords safe?

Passwords are encrypted with AES-256-CBC using a key derived from your site’s own`
AUTH_KEY`, so a stolen database dump does not expose them. They are also never included
in a configuration export.

### Will this work with WooCommerce?

Yes. The plugin runs after WooCommerce and overrides its From address, so store 
emails send from your configured, authenticated address. There is a diagnostics 
screen for testing each WooCommerce email type.

### Does logging slow my site down?

No. Each send writes one indexed row, and the log list never loads message bodies.
Old entries are purged automatically on a daily schedule according to your retention
setting.

### How do I stop a staging site emailing real customers?

Turn on blocking mode under Settings  Delivery Controls. Nothing is delivered, but
every attempt is still logged so you can confirm what the site would have sent.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DadsFam SMTP” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ dadsfam ](https://profiles.wordpress.org/dadsfam/)

[Translate “DadsFam SMTP” into your language.](https://translate.wordpress.org/projects/wp-plugins/dadsfam-email-smtp)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dadsfam-email-smtp/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dadsfam-email-smtp/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dadsfam-email-smtp/)
by [RSS](https://plugins.trac.wordpress.org/log/dadsfam-email-smtp/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.7

 * Added: a plain-English “A word about PRO” note in the readme — what stays free,
   why the optional add-on exists, and what it does. No features were moved behind
   a paywall.
 * No changes to how the plugin sends, logs or tests email.

#### 2.0.6

 * Changed: uninstall now removes only this plugin’s own data, addressed by exact
   name — its three options, its scheduled event and its log table — instead of 
   sweeping the options table for anything sharing the “dfsmtp_” prefix. Data belonging
   to a separate add-on that happens to use the same prefix is no longer removed;
   each plugin cleans up only what it owns, and the optional PRO add-on removes 
   its own data through its own uninstall routine.
 * Changed: uninstall now runs its cleanup on every site of a multisite network 
   rather than only the current one, so nothing is left behind on the other sites.
   The per-site “keep data on uninstall” preference is still honoured for each site.

#### 2.0.5

 * Security: an imported configuration file is now cleaned key by key against a 
   list of the settings this plugin actually owns, with each value checked for what
   that setting is allowed to contain. Decoding a file is not the same as trusting
   it, and an edited export can no longer introduce settings the plugin does not
   own.
 * Added: an External services section to this readme, setting out exactly what 
   is sent to your SMTP provider, when, and where — along with the terms and privacy
   policies of the providers there are presets for.
 * Fixed: the plugin header pointed at a page that did not exist.
 * Changed: the text domain now matches the plugin slug, so the community translation
   tools can pick the plugin up.

#### 2.0.4

 * Security: stored SMTP passwords now use authenticated AES-256-GCM instead of 
   AES-256-CBC, so a tampered value is detected rather than silently decrypted into
   something else. Passwords saved by earlier versions continue to work and are 
   read transparently.
 * Security: removed the fallback that stored a password as plain text or base64
   if encryption failed. If a server genuinely cannot encrypt, the save is refused
   with a clear message instead of quietly saving an unprotected password.
 * Changed: uninstall now removes everything under this plugin’s own option, transient
   and scheduled-event prefix generically, rather than listing add-on option names.
 * Changed: tightened the inline justifications on the direct database calls used
   during uninstall and on the raw socket used by the connection test.

#### 2.0.3

 * Fixed: WooCommerce email types were identified by searching the subject line 
   for keywords, so any email whose subject contained a word like “Completed” or“
   Invoice” was logged as a WooCommerce order email. The type now comes from WooCommerce’s
   own email object and is only recorded when WooCommerce actually sent the email.
 * Fixed: failed sends did not record the WooCommerce email type, so a failed order
   email could not be told apart from any other failure in the log.

#### 2.0.2

 * Version number aligned with the separate PRO add-on. No functional change to 
   this plugin.

#### 2.0.1

 * Fixed: the SMTP connection tester used an implicitly nullable parameter, which
   is deprecated in PHP 8.4 and produced a notice on newer hosts.
 * Fixed: CSV export now passes the escape argument to fputcsv() explicitly. PHP
   8.4 deprecates relying on the default, and the value used produces RFC 4180 output
   that spreadsheet software reads correctly.
 * Verified compatible with PHP 8.0 through 8.4 and with WordPress 7.0.

#### 2.0.0

 * Fixed: a failed delivery could trigger an unbounded chain of failure-alert emails,
   exhausting PHP memory and overloading the mail server. The alert path is now 
   guarded against re-entry.
 * Fixed: the SMTP connection test now terminates commands with CRLF as RFC 5321
   requires, so strict servers such as Microsoft 365 no longer hang or reject the
   handshake.
 * Fixed: the suppression list now matches whole addresses and domains rather than
   loose substrings, so a short entry can no longer block unrelated recipients.
 * Fixed: uninstall now removes every option the plugin creates, including the log
   table version marker.
 * Fixed: the log table is now created with all columns present rather than relying
   on a later migration step.
 * Changed: email logging is unlimited on every site, with retention controlled 
   by a “keep logs for N days” setting instead of a fixed entry cap.
 * Changed: CSV export and the full email body viewer are available on every site.
 * Changed: the plugin no longer overrides the WordPress core “weekly” cron schedule.
 * Changed: admin styles are served from an enqueued stylesheet instead of an inline
   style block.
 * New: documented hook API so add-ons can extend the send pipeline and admin screens.
 * Upgrading from 1.6.x preserves all settings and log entries.

#### 1.6.3

 * Routing rules with an empty match value are skipped instead of capturing every
   email.
 * WooCommerce email detection moved to a hook-based flag consumed by a single outgoing
   email.
 * The log list view no longer selects the body column, preventing memory exhaustion
   on large logs.

#### 1.5.0

 * New email health score combining DNS authentication, configuration and send history.
 * New dashboard widget.

#### 1.4.0

 * Configuration backup and migrate as JSON.
 * Guided first-run setup.

#### 1.2.0

 * Blocking mode for staging sites.
 * Suppression list.
 * SPF, DKIM, DMARC and MX deliverability checker.

#### 1.0.0

 * First release.

## Meta

 *  Version **2.0.7**
 *  Last updated **16 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [email](https://wordpress.org/plugins/tags/email/)[email log](https://wordpress.org/plugins/tags/email-log/)
   [mailer](https://wordpress.org/plugins/tags/mailer/)[smtp](https://wordpress.org/plugins/tags/smtp/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/dadsfam-email-smtp/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dadsfam-email-smtp/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dadsfam-email-smtp/reviews/)

## Contributors

 *   [ dadsfam ](https://profiles.wordpress.org/dadsfam/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dadsfam-email-smtp/)