Flex SMTP

Description

Flex SMTP is the mail layer for the FLEX plugin suite. Flex Forms (and anything else that calls wp_mail()) can leave SMTP credentials out of form settings. This plugin owns delivery: provider presets, SMTP or HTTP API, a test send, and a searchable log.

It is built for sites that already use FLEX plugins, and for hosts that block outbound SMTP ports 465/587. HTTP API sending uses WordPress wp_remote_post only — no vendor SDKs are bundled.

  • Provider presets (Gmail, Microsoft 365, SendGrid, Mailgun, Amazon SES, and more)
  • SMTP for every provider, or HTTP API for transactional services
  • From email / name, default From replacement, and optional Force From
  • One-click test email
  • Searchable delivery log with retention
  • Copies old Flex Forms SMTP options on first activate

Enable is off by default. Mail stays on the WordPress default mailer until you save a provider and turn Enable on.

CSS and JavaScript are loaded from this plugin only. There is no telemetry and no remote update checker.

Privacy

SMTP usernames, passwords, and API keys are stored in your WordPress database (leave a secret field blank when saving to keep the stored value). The optional email log stores recipient, subject, success/fail, and error text. Only administrators can view the log or settings.

When Enable is on, message content is sent to the SMTP host or HTTP API you configured. Flex SMTP does not send mail to any other remote service. See External services.

External services

This plugin connects to a third-party mail service only after an administrator chooses that provider, saves credentials, and turns Enable on (or clicks Send test). Until then, WordPress uses the default mailer. The plugin does not phone home.

What data is sent (every provider): From, To, Cc, Bcc, Reply-To, subject, body, and attachments from wp_mail(). SMTP also sends the saved username and password. HTTP API also sends the saved API key, and the secret, domain, or region when that provider requires them.

When data is sent: On each wp_mail() call while Enable is on, and when an administrator sends a test email.

Why: To deliver WordPress mail (password resets, form notifications, WooCommerce, and so on) through the account you already have with that provider.

Amazon SES

Amazon Simple Email Service delivers mail when Amazon SES is selected. SMTP connects to email-smtp.{region}.amazonaws.com (for example email-smtp.us-east-1.amazonaws.com). HTTP API posts SendRawEmail to email.{region}.amazonaws.com. The region is the one you pick in settings.

Service: Amazon SES
Terms of Service
Privacy Policy

Gmail / Google Workspace

Sends mail through Google SMTP (smtp.gmail.com) when that provider is selected. Uses an app password (OAuth is not included).

Service: Gmail
Terms of Service
Privacy Policy

Microsoft 365 / Outlook

Sends mail through Microsoft SMTP (smtp.office365.com) when that provider is selected. Uses SMTP AUTH and, when required, an app password.

Service: Microsoft 365
Terms of Service
Privacy Policy

Yahoo Mail

Sends mail through Yahoo SMTP (smtp.mail.yahoo.com) when that provider is selected. Uses an app password.

Service: Yahoo Mail
Terms of Service
Privacy Policy

Zoho Mail

Sends mail through Zoho SMTP (smtp.zoho.com) when that provider is selected.

Service: Zoho Mail
Terms of Service
Privacy Policy

iCloud Mail

Sends mail through iCloud SMTP (smtp.mail.me.com) when that provider is selected. Uses an app-specific password.

Service: iCloud
Terms of Service
Privacy Policy

SendGrid

Sends mail through SendGrid SMTP (smtp.sendgrid.net) or the SendGrid HTTP API when that provider is selected.

Service: SendGrid
Terms of Service
Privacy Policy

Mailgun

Sends mail through Mailgun SMTP (smtp.mailgun.org or smtp.eu.mailgun.org) or the Mailgun HTTP API (api.mailgun.net or api.eu.mailgun.net) when that provider is selected. HTTP API also sends the Mailgun sending domain you enter.

Service: Mailgun
Terms of Service
Privacy Policy

Postmark

Sends mail through Postmark SMTP (smtp.postmarkapp.com) or the Postmark HTTP API when that provider is selected. The API key is the Postmark server token.

Service: Postmark
Terms of Service
Privacy Policy

Brevo

Sends mail through Brevo SMTP (smtp-relay.brevo.com) or the Brevo HTTP API when that provider is selected.

Service: Brevo
Terms of Service
Privacy Policy

Mailjet

Sends mail through Mailjet SMTP (in-v3.mailjet.com) or the Mailjet HTTP API when that provider is selected. HTTP API also sends the Mailjet API secret.

Service: Mailjet
Terms of Service
Privacy Policy

SparkPost

Sends mail through SparkPost SMTP (smtp.sparkpostmail.com or smtp.eu.sparkpostmail.com) or the SparkPost HTTP API when that provider is selected. SparkPost is a Bird service.

Service: SparkPost
Terms of Service
Privacy Policy

SMTP2GO

Sends mail through SMTP2GO SMTP (mail.smtp2go.com) or the SMTP2GO HTTP API when that provider is selected.

Service: SMTP2GO
Terms of Service
Privacy Policy

Resend

Sends mail through Resend SMTP (smtp.resend.com) or the Resend HTTP API when that provider is selected.

Service: Resend
Terms of Service
Privacy Policy

Custom SMTP

Sends mail to the SMTP host you type in settings. That host’s own terms and privacy policy apply. Flex SMTP does not choose or document a third party for Custom.

Installation

  1. Upload the flex-smtp folder to /wp-content/plugins/, or install the zip via Plugins Add New Upload Plugin.
  2. Activate Flex SMTP.
  3. Open Flex SMTP Settings, choose a provider, enter credentials, set From email, enable routing, and save.
  4. Send a test email, then confirm the result under Email Log.

FAQ

Does this replace the SMTP settings that used to live in Flex Forms?

Yes. Flex Forms now calls wp_mail() only. Activate Flex SMTP once to copy the old Forms SMTP options, then manage delivery here.

Does Gmail or Microsoft 365 use OAuth?

No. Those providers use SMTP with an app password (and SMTP AUTH enabled on Microsoft 365). OAuth is not included.

What is the difference between SMTP and HTTP API?

SMTP talks to the provider’s mail server through PHPMailer. HTTP API posts the message with wp_remote_post and skips PHPMailer. Use HTTP API if outbound ports 465/587 are blocked. Gmail, Microsoft 365, Yahoo, Zoho, iCloud, and Custom are SMTP only.

Will mail still go through my web host?

Not while Enable is on. Messages go to your SMTP host or the provider API. Turn Enable off to return to the default WordPress mailer.

What is stored in the email log?

Recipient, subject, success or fail, error text, and time. It does not store API keys or passwords. Disable Email log if you do not want delivery history.

What happens when I uninstall?

Deleting the plugin removes settings, credentials, and the log table. Deactivating alone keeps your data.

Reviews

There are no reviews for this plugin.

Contributors & Developers

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

Contributors

Translate “Flex SMTP” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.1

  • Expand External services: each provider lists what is sent, when, why, and working terms/privacy URLs.
  • Replace 404 Zoho and Mailjet legal links. SparkPost now points to current Bird legal pages.

1.0.0

  • Initial release: SMTP and HTTP API providers, test email, delivery log, and Flex Forms migration.