Title: Pigeon Mail
Author: clickwebstudio
Published: <strong>October 18, 2026</strong>
Last modified: October 18, 2026

---

Search plugins

![](https://ps.w.org/pigeon-mail/assets/icon.svg?rev=3753481)

# Pigeon Mail

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

[Download](https://downloads.wordpress.org/plugin/pigeon-mail.0.2.14.zip)

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

 [Support](https://wordpress.org/support/plugin/pigeon-mail/)

## Description

By default WordPress hands email to whatever the web server provides, which on most
hosts is unauthenticated and quietly filtered as spam. Pigeon Mail sends through
a real SMTP server instead — your host’s, your mailbox provider’s, or a dedicated
sending service.

It does one job and stays out of the way.

**What it does**

 * Sends WordPress email through the SMTP server you choose, with one-click presets
   for Google (Gmail and Workspace), Resend, SendGrid, Postmark, Mailgun and Brevo
 * Sets a consistent From address and name across every plugin on the site
 * Sends a test message and shows you the server’s actual reply when it fails
 * Warns you in the admin when a message could not be delivered

**Why the test matters**

“Could not send email” tells you nothing. Pigeon Mail shows the conversation with
your mail server — the refused login, the blocked port, the rejected sender — which
is usually the whole answer. Credentials are stripped from that transcript, so it
is safe to paste into a support request.

**Privacy**

Pigeon Mail contacts nothing except the mail server you configure. It does not phone
home, collect usage data, or require an account. Your messages go from your site
to your server.

### Source code

The settings screens are built with `@wordpress/scripts`. The compiled files are
in `build/settings/`; the readable source they are built from is in `src-js/settings/`,
with `package.json` and `package-lock.json` at the plugin’s root. To rebuild: `npm
install` then `npm run build`.

## Screenshots

[⌊Settings screen with connection status⌉⌊Settings screen with connection status⌉[

Settings screen with connection status

[⌊Test send showing the server conversation⌉⌊Test send showing the server conversation⌉[

Test send showing the server conversation

## Installation

 1. Install and activate the plugin.
 2. Go to **Settings  Pigeon Mail**.
 3. Enter your SMTP server details, save, then send yourself a test message.

## FAQ

### What settings do I use?

Your mail provider publishes them. The common shape is host `smtp.yourprovider.com`,
port `587` with TLS, and your full email address as the username.

### Why do my emails still go to spam?

Sending through SMTP is only half of it. The other half is DNS: your domain needs
an SPF record, and ideally DKIM, that authorise the server you are sending from.
Your mail provider will document both.

### Should the From address match my domain?

Yes. Sending as a Gmail or Outlook address from your own site fails modern spam 
checks, because those providers explicitly say only their servers may send as their
addresses. The exception is sending _through_ that provider: the Google preset sends
via Google’s own server with an app password, so mail from your Google address is
fine.

### Is my password safe?

It is encrypted before it is stored, using a key derived from your site’s own security
salts, and it is never sent back to the browser once saved. Anyone reading the database
alone cannot recover it.

### Does this work with WooCommerce and contact form plugins?

Yes. It changes how WordPress itself sends mail, so anything using `wp_mail()` —
which is nearly everything — goes through your server without needing its own configuration.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Pigeon Mail” is open source software. The following people have contributed to 
this plugin.

Contributors

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

[Translate “Pigeon Mail” into your language.](https://translate.wordpress.org/projects/wp-plugins/pigeon-mail)

### Interested in development?

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

## Changelog

#### 0.2.14

 * The “last email could not be sent” notice on the dashboard and plugins list is
   now for recent failures only (three days), can be dismissed, and comes back only
   for a newer failure. Until now it stayed until you saved the settings or sent
   a test. The failure still shows on the plugin’s own screens, and the setting 
   that switches the notice off is unchanged.

#### 0.2.13

 * Clears the notes the WordPress.org Plugin Check raises: translations are no longer
   loaded by the plugin itself (WordPress.org does it for plugins in the directory),
   and the one direct database query, in uninstall, says why it is needed. No change
   in behaviour.

#### 0.2.12

 * The server conversation on the Test tab shows the greeting, the login, the sender
   and the recipient again. The test message’s embedded logo filled the 80 lines
   the tab keeps with redacted lines, so a successful send showed nothing but “[
   redacted]”. The message itself is now one line.

#### 0.2.11

 * The Overview and Settings screens use the full width of the admin; Troubleshooting
   and the delivery status sit in a fixed-width column on the right.

#### 0.2.10

 * A provider card no longer shows “This server needs a username and password”: 
   every provider needs one, so it is always on. The checkbox stays under Custom
   SMTP, for relays that trust the server’s address instead.
 * The Overview shows Troubleshooting in a column on the right, beside the sent 
   and failed counts.

#### 0.2.9

 * New provider card: Google (Gmail and Google Workspace). One click fills smtp.
   gmail.com, port 587 and TLS, and the screen explains the app password Google 
   requires.

#### 0.2.8

 * The provider cards show every provider’s real logo: SendGrid and Mailgun no longer
   use a letter, and Custom SMTP has a server icon.

#### 0.2.7

 * The diagnostic report says whether the web server can write to the uploads folder,
   and who owns it when it cannot. A folder owned by root, left behind by a command
   run as root, makes every upload on the site fail with “could not be moved” and
   is otherwise easy to miss.

#### 0.2.6

 * The Overview can show extra cards from add-ons, next to Sent and Failed. Nothing
   is added by this plugin itself.

#### 0.2.5

 * Troubleshooting tools, on a new Tools tab in Settings and linked from the Overview:
    - Connectivity test: checks that the saved server can be found, reached and 
      logged in to, step by step, and sends nothing. It gives up after 12 seconds
      rather than hanging.
    - Diagnostic report: a summary of your site and mail setup to paste into a support
      request. The password and username are only reported as present.
    - Import and export settings: move your mail settings to another site. The file
      never contains the password; an import that would leave mail unable to log
      in switches routing off and says so instead of failing every message.
    - Reset to defaults.
 * Credentials are removed from every server conversation shown, in two independent
   ways.

#### 0.2.4

 * The admin menu icon address carries the plugin version, so a browser that kept
   the previous icon loads the new one.

#### 0.2.3

 * The Overview no longer has a “Recent messages” card advertising Premium when 
   there is no email log to show; the plugin has no upsell of any kind now.
 * The admin menu icon is the plain Pigeon mark, the same as Pigeon SEO’s, without
   the badge.
 * Tested with WordPress 7.1.

#### 0.2.2

 * The test-mail transcript’s credential redaction now works: PHPMailer’s “CLIENT-
   > SERVER:” prefix kept the patterns from matching, so base64 and AUTH lines went
   through unredacted (PHPMailer’s own masking hid the real credentials, so this
   was defence in depth).

#### 0.2.1

 * Fix: on phones a ticked checkbox on the settings screen showed as an orange blot.
   WordPress enlarges the tick on small screens; it now keeps the size of its box.

#### 0.2.0

 * New Overview screen, and the plugin’s menu opens on it: emails sent and failed
   today, this week and this month, whether mail is going through your server, the
   last failure, and shortcuts to the test and the settings.
 * The counts are two numbers per day, nothing about the messages themselves: no
   recipients, no subjects. They start from the day this version is installed, and
   the screen says so.
 * Mail settings is its own screen with Server, Sender and Test tabs, and a Delivery
   status panel beside them that checks the saved settings item by item.
 * The screens use the Pigeon design shared with Pigeon Form: bundled Plus Jakarta
   Sans and JetBrains Mono (nothing loaded from a font host), the Pigeon orange,
   and layouts that follow the space left by the admin menu.
 * Unsaved changes are marked next to Save, the Test tab says when the test would
   use older saved settings, and leaving with unsaved changes asks first.
 * The “last email could not be sent” notice no longer repeats on the plugin’s own
   screens, which show the failure themselves.

#### 0.1.5

 * Test email: the logo is the plain Pigeon mark without the envelope badge, and
   it keeps its size in Apple Mail, which ignored the image’s width attribute and
   drew it at full size.

#### 0.1.4

 * The test email is a proper branded message: Pigeon Mail logo (embedded, so it
   shows even from a site behind a login), a clear confirmation, the site, recipient,
   delivery route and time, and a plain-text version for clients that do not show
   HTML.

#### 0.1.3

 * The provider cards show the real Resend, Postmark and Brevo logos, taken from
   each provider’s official brand page. SendGrid and Mailgun keep their monograms:
   neither publishes a logo download.

#### 0.1.2

 * The Pigeon plugins sit together in the admin menu, one below another, instead
   of wherever their menu positions landed among other plugins’ items.

#### 0.1.1

 * The admin menu uses the Pigeon family mark: the Pigeon SEO pigeon with a small
   envelope badge.

#### 0.1.0

 * First release.

## Meta

 *  Version **0.2.14**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [deliverability](https://wordpress.org/plugins/tags/deliverability/)[email](https://wordpress.org/plugins/tags/email/)
   [mail](https://wordpress.org/plugins/tags/mail/)[smtp](https://wordpress.org/plugins/tags/smtp/)
   [wp-mail](https://wordpress.org/plugins/tags/wp-mail/)
 *  [Advanced View](https://wordpress.org/plugins/pigeon-mail/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pigeon-mail/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pigeon-mail/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pigeon-mail/)