WP Manifestindependent plugin directory
manifest / email / mailbridge-smtp

MailBridge SMTP releases

General SMTP delivery for WordPress emails with encrypted password storage and built-in diagnostics

by Geovanny Lacayo · github.com/glacayo/mailbridge-smtp · website

0stars
1release downloads
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/glacayo/mailbridge-smtp/releases/download/v1.0.2/mailbridge-smtp-1.0.2.zip

MailBridge SMTP routes WordPress email through your SMTP provider. It applies to WordPress core mail, form plugins, ecommerce notifications, and any plugin that sends through wp_mail().

Features

  • General WordPress SMTP: Configure SMTP delivery for all WordPress emails.
  • Form plugin friendly: Works with form plugins that use wp_mail().
  • Security first: Encrypted password storage, input sanitization, nonce verification, and capability checks.
  • Easy setup: Settings live under Tools → MailBridge SMTP.
  • Built-in testing: Send SMTP test emails and run mail diagnostics from the admin screen.
  • Multiple encryption options: Supports no encryption, SSL, and TLS.

Installation

  1. Upload the mailbridge-smtp folder to /wp-content/plugins/.
  2. Activate MailBridge SMTP from the WordPress Plugins screen.
  3. Go to Tools → MailBridge SMTP.
  4. Enter your SMTP provider settings and save.
  5. Use Send Test Email to verify delivery.

Configuration

Setting Description Example
Enable SMTP Turn on SMTP for WordPress emails ☑️
SMTP Host Your SMTP server address smtp.gmail.com
SMTP Port Server port 587
Encryption Connection security TLS
Authentication Enable SMTP login ☑️
Username SMTP account username user@example.com
Password SMTP account password or app password ••••••••
From Email Sender email address noreply@example.com
From Name Sender display name My Website
Debug Mode Log SMTP debug output when WordPress debug logging is enabled

Common SMTP Providers

Gmail

Host: smtp.gmail.com
Port: 587
Encryption: TLS
Authentication: Yes

Gmail accounts with 2FA usually require an App Password.

Outlook / Microsoft 365

Host: smtp.office365.com
Port: 587
Encryption: TLS
Authentication: Yes

SendGrid

Host: smtp.sendgrid.net
Port: 587
Encryption: TLS
Authentication: Yes
Username: apikey
Password: your_sendgrid_api_key

How it works with WordPress email

MailBridge SMTP hooks into WordPress's wp_mail() flow. WordPress core, ecommerce extensions, form plugins, and many other tools use that same mail function, so no plugin-specific configuration is required.

Testing

Admin panel testing

  1. Go to Tools → MailBridge SMTP.
  2. Enter an email address in Test Email Address.
  3. Click Send Test Email.
  4. Check the recipient inbox.

CLI SMTP connection tests

The tests/ directory contains a standalone CLI test suite that validates SMTP connections without loading WordPress. It is useful for diagnosing provider or network issues before configuring the plugin.

# Copy the local test env template and fill in credentials
cp .env.example .env

# Test all configured servers without sending email
php tests/test-smtp-connection.php

# Show SMTP protocol output
php tests/test-smtp-connection.php --verbose

# Test one configured server
php tests/test-smtp-connection.php --server=1

# Send a test email using TEST_RECIPIENT from .env
php tests/test-smtp-connection.php --send-email

Test results are saved as JSON files in tests/results/.

What Each Test Checks

Step Description
DNS Resolve Resolves SMTP hostname to IP
TCP Connect Opens socket to host:port
SMTP Banner Reads server greeting (220)
EHLO Sends EHLO, checks 250 response
AUTH Support Verifies AUTH methods advertised
STARTTLS TLS handshake (if encryption=tls)
AUTH LOGIN Authenticates with credentials
Test Email Sends email via SMTP protocol (optional)

Test Results

Results are saved as JSON in tests/results/ with timestamps. Minimal example:

{
  "timestamp": "2026-04-06 19:30:00",
  "servers": {
    "1": {
      "host": "smtp.gmail.com",
      "success": true,
      "steps": {
        "dns": { "success": true, "detail": "Resolved to 142.250.x.x" },
        "connect": { "success": true },
        "auth_login": { "success": true }
      }
    }
  }
}

Troubleshooting test email failures

When Send Test Email fails, MailBridge SMTP classifies the failure into a safe, actionable category. The same explanation appears in the AJAX result and in the persistent Last MailBridge SMTP error admin notice (administrators only).

Raw SMTP server responses, passwords, tokens, usernames, recipient addresses, headers, and AUTH material are never shown in the UI.

Category Typical cause What to check
Authentication Login rejected (e.g. code 535) SMTP username and password (or app password)
Recipient Server rejected the test address (e.g. 550 recipient failures) Test recipient email address
Sender Server rejected the From / MAIL FROM address From Email and provider sender authorization
Connection Timeout, refused connection, or SMTP connect failure Host, port, firewall, or proxy
TLS/SSL STARTTLS, certificate, or crypto verification failure Encryption mode and TLS certificate setup
Unknown Unclassified mail-server rejection Settings plus server / WordPress debug logs (raw response intentionally hidden)

Tips:

  1. Confirm Enable SMTP is checked and settings were saved before testing.
  2. Match port and encryption to your provider (commonly 587 + TLS or 465 + SSL).
  3. If authentication fails with providers that require app passwords, generate a fresh app password instead of the account login password.
  4. Enable Debug Mode only temporarily, and only when WordPress debug logging is enabled; disable it after diagnosis.

Security notes

  • SMTP passwords are encrypted using AES-256-GCM with keys derived from WordPress salts.
  • Admin actions require the manage_options capability.
  • AJAX requests use nonce verification.
  • Failed test/delivery errors are classified into safe messages; secrets and raw SMTP responses are not exposed in the admin UI.
  • .env is only for local CLI tests and should never be committed.
  • Release ZIP packages should exclude local-only files such as tests/, .env, and .env.*; keep .distignore aligned with release tooling.
  • Disable debug mode in production unless actively troubleshooting.

Requirements

  • WordPress 5.8 or later (tested up to WordPress 7.1)
  • PHP 8.2 or later

Frequently Asked Questions

Which WordPress emails does this affect?

MailBridge SMTP is a general WordPress SMTP plugin. It works with any email sent through wp_mail(), including WordPress core emails, ecommerce notifications, and form plugin submissions.

Is my password secure?

Passwords are encrypted before storage and are never intentionally displayed in plain text.

Can I use this on multisite?

MailBridge SMTP is currently designed for single-site installations. Multisite support may be added in a future release.

Support

For issues, feature requests, or contributions, use https://github.com/glacayo/mailbridge-smtp.

License

This plugin is licensed under the GPL-2.0-or-later license.


Security note: Use strong SMTP credentials and enable SSL/TLS encryption whenever possible.

Releases

3 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.0.2 latest
Sep 3, 2026 16d ago
mailbridge-smtp-1.0.2.zip
0
Aug 6, 2026 1mo ago
mailbridge-smtp-1.0.1.zip
0
Jul 22, 2026 1mo ago
mailbridge-smtp-1.0.0.zip
1