Cybexsoft SMTP

Описание

WordPress sends mail with PHP’s mail() function by default, which many hosts throttle or block outright — so the message never arrives and nothing on the site says so.

This plugin replaces that transport and then keeps working after the swap, which is the part most setups leave out:

  • Several mailers at once, with roles. Add as many as you like and say which one sends. Pro adds a backup that takes over automatically when the primary starts refusing mail.
  • Nothing is silently lost. A send that fails is held and retried on a widening schedule instead of disappearing, and sending pauses while a mailer is plainly broken rather than throwing every message at it.
  • A connection trace, step by step. Watch the handshake with your mail server or API key and see exactly which step fails, instead of reading «could not send».
  • Deliverability diagnostics that tell you what to publish. SPF, DKIM and DMARC checked against your sending domain, with the record found, what it means, and the exact change to make.

Free features

  • Mailers: generic SMTP, Amazon SES (via SMTP), SendGrid, Mailgun, Brevo, SMTP2GO, or default PHP mail — set up as many as you like and choose which one sends
  • Email log with search, status filter, and CSV export — kept indefinitely
  • Held mail: a message whose send fails is kept and retried on a widening schedule instead of being lost
  • Domain diagnostics: SPF, DKIM and DMARC record checks
  • Send test emails and trace the connection to your mailer step by step, with a rolling debug log for failures
  • Force-from controls so other plugins can’t silently change your From address
  • Allow & block lists: never email a blocked address or domain again
  • Failure alerts: an email to you once sending starts failing, at a threshold you set
  • Credentials encrypted at rest, or supplied from wp-config.php and kept out of the database entirely

Cybexsoft SMTP Pro is a companion plugin you install alongside this one. It adds its features to the same settings screen, so there is still only one place to configure anything. It is free during early access: ask us and we will email you the download and a license key. It adds:

  • Open & click tracking
  • Automatic blocking of addresses that keep bouncing, and an allow-list-only mode that stops a staging site emailing real customers
  • Backup mailer with automatic failover
  • Richer failure alerts: several recipients, your own counting window and quiet period, and no alarm for a message the backup mailer already rescued
  • Postmark, Resend, MailerSend, Mailjet, Elastic Email and Zoho ZeptoMail mailers, plus Gmail & Outlook over OAuth
  • Automatic log pruning on a retention window you set, plus a full content archive
  • Weekly deliverability reports

External services

This plugin can connect to the external services listed below. Sending email
necessarily involves handing your message to a mail provider, so the mailer
you choose is the main one — but the plugin only ever talks to the provider
you configured, using credentials you supplied. Everything else here is
optional and off until you act.

The mailer you configure

The plugin sends your outgoing WordPress email through whichever mailer you
select under Settings. Five of the free mailers are third-party services of
their own: four HTTP APIs and Amazon SES. In each case what is sent is the
outgoing message — recipients, subject, body, attachments and headers —
together with the credential you configured, and only while that mailer is the
selected one:

  • SendGrid — sent to https://api.sendgrid.com. Service provided by
    Twilio SendGrid: terms of service,
    privacy policy.
  • Mailgun — sent to your configured Mailgun API host. Service provided by
    Mailgun: terms of service,
    privacy policy.
  • Brevo — sent to https://api.brevo.com. Service provided by Brevo:
    terms of service,
    privacy policy.
  • SMTP2GO — sent to https://api.smtp2go.com. Service provided by
    SMTP2GO: terms of service,
    privacy policy.
  • Amazon SES — sent over SMTP to email-smtp.<region>.amazonaws.com, for
    the AWS region you select in the settings. What is sent is the outgoing
    message, authenticated with the SES SMTP username and password you
    configured, and only while Amazon SES is the selected mailer. Service
    provided by Amazon Web Services:
    service terms,
    privacy notice.

The remaining free mailers — generic SMTP and PHP mail — connect to the mail
server you name in the settings, not to a service of ours. The Tools tab’s
connection trace opens a connection to that same server and stops before any
message is sent.

For SendGrid and Mailgun, that same connection trace instead checks your key
against the provider without sending any message: it requests
https://api.sendgrid.com/v3/scopes with your API key, or
https://api.mailgun.net (or api.eu.mailgun.net on the EU region) with your
API key and the sending domain you configured. It runs only when you click it,
and nothing else about your site is sent.

Cybexsoft licence server

Used only once you have entered a Pro licence key under Cybexsoft SMTP License.

Your licence key, your site’s home URL, and the product and version being
licensed are sent to https://cybexsoft.com/api/licenses/verify when a key is
activated and periodically thereafter to confirm it is still valid, and to
https://cybexsoft.com/api/licenses/deactivate when a key is removed. Nothing
is sent while no licence key is stored, and the free plugin never contacts
these addresses at all — they are used only by the Pro add-on.

Service provided by Cybexsoft: terms of service,
privacy policy.

«Get Pro for Free» request form

Used only if you open that form and submit it.

The name, email address, website and message you type, are emailed to
admin@cybexsoft.com so we can send you the Pro download and a licence key. The
request is sent through this plugin’s own mailer — it is an ordinary email,
not a background call — and if your site cannot send mail yet, the form offers
to open the same request in your own email application instead.

Deactivation feedback

Used only if you choose a reason in the dialog shown when you deactivate the
plugin. The dialog can be skipped, and skipping it sends nothing; deactivation
proceeds either way.

If you do submit a reason, your site’s URL, the plugin version and build, the
mailer you had configured, the reason you picked and any note you wrote are
emailed to admin@cybexsoft.com.

showdns.net

The Deliverability tab links out to https://showdns.net, which runs the same
SPF, DKIM and DMARC checks from outside your server. The plugin makes no
request to it — nothing is sent unless you click the link, at which point your
browser visits it like any other site and the domain being checked appears in
the URL.

Service provided by Cybexsoft: privacy policy.

Скриншоты

Установка

  1. Upload the cybexsoft-smtp folder to /wp-content/plugins/, or install the zip via Plugins Add New Upload Plugin.
  2. Activate the plugin.
  3. Go to Cybexsoft SMTP Settings and choose a mailer.
  4. Send a test email from the Tools tab to confirm everything works.

Часто задаваемые вопросы

Which PHP versions are supported?

PHP 7.4 through the latest stable release.

Does this store my SMTP password in plain text?

Not on any normal host. Passwords, API keys and OAuth tokens are encrypted before they are written to the database (XSalsa20-Poly1305 via PHP’s sodium extension), so a leaked database backup or an SQL injection in some other plugin does not expose working mail credentials. The key is derived from your site’s WordPress salts; if you rotate your salts on a schedule, define CYBEX_SMTP_ENCRYPTION_KEY in wp-config.php first so stored credentials survive the rotation.

Sodium has been compiled into PHP by default since 7.2, so it is present on every version this plugin supports. The one exception is a host that has deliberately built PHP without it — there is then nothing to encrypt with, and credentials are stored as you typed them. If that matters to you, ask your host whether sodium is enabled, or look for it in a phpinfo report.

Either way, you can keep a credential out of the database entirely by defining it in wp-config.php — CYBEX_SMTP_PASSWORD, CYBEX_SMTP_SES_PASSWORD, CYBEX_SMTP_SENDGRID_API_KEY, CYBEX_SMTP_MAILGUN_API_KEY, CYBEX_SMTP_BREVO_API_KEY or CYBEX_SMTP_SMTP2GO_API_KEY. A defined constant overrides whatever is stored, and is never written back to the database.

If sodium is missing and a credential is stored anyway, the plugin now says so in the admin rather than leaving you to find out from this page.

How do I get Pro features?

Click Get Pro for Free in the plugin header (or next to Settings on the Plugins screen), fill in the short form, and we will email you the Pro download along with your license key.

The download is a separate plugin, Cybexsoft SMTP Pro, which you install alongside this one: Plugins Add New Upload Plugin, then activate. Keep Cybexsoft SMTP active — Pro extends it and will say so if it is missing. Your settings and email log stay exactly where they are, and everything Pro adds appears on the same settings screen, so there is still only one place to configure anything.

Will updating Cybexsoft SMTP remove my Pro features?

No. They are two separate plugins, so an update to this one cannot touch the other. Update either from the Plugins screen whenever you like.

It used to be a real risk, and this is why the two were separated. Pro was once shipped as this same plugin with the extra code included, which meant an update from WordPress.org replaced the whole directory and took the Pro code with it — leaving the license behind and the features gone. Nothing to watch out for now.

Where do I enter my Pro license key?

The License tab in Cybexsoft SMTP. Paste the key we emailed you there.

With the Pro plugin not yet installed the key is saved but shown as unverified, because nothing on this side can check one — activating Cybexsoft SMTP Pro verifies it.

The request form says it could not send. Now what?

The form sends its request through the very mailer this plugin configures, so a site that has not finished setting one up cannot email us either. When that happens the form offers a link that opens the same request in your own email app instead — nothing is lost.

My email log shows a «Blocked» row. What is that?

A message that was deliberately not sent, rather than one that failed. It appears when your block list stops a message before it reaches your mailer — the row records who it was for and which rule matched. Blocked rows are counted separately from failures and left out of your delivery rate, because nothing was ever handed to a mail server.

Does the email log slow my site down?

One small row is written per message, on the request that sends it. The log is indexed on the columns the screens filter by, and Pro adds a retention window that prunes old rows nightly if you would rather not keep them forever.

Отзывы

Нет отзывов об этом плагине.

Участники и разработчики

«Cybexsoft SMTP» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

Перевести «Cybexsoft SMTP» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

1.0.1

  • Fix: the Plugins screen stopped with a fatal error (undefined constant KEEP_DATA_OPTION) when loading the deactivation dialog.

1.0.0

  • Initial release.
  • Connect a mailer: SMTP, Amazon SES, SendGrid, Mailgun, Brevo or SMTP2GO, with Postmark, Gmail, Outlook / Microsoft 365, Resend, MailerSend, Mailjet, Elastic Email and Zoho ZeptoMail in Pro. Add as many as you like and choose which one sends.
  • Email log: every message with its subject, recipient, status and date, searchable, filterable and exportable to CSV.
  • Held mail: a message whose send fails is kept and retried on a widening schedule instead of being lost, and sending pauses while a mailer is plainly broken rather than throwing every message at it.
  • Failure alerts by email, at a threshold you set.
  • Deliverability tab: SPF, DKIM and DMARC checks with the record that was found, what it means, and what to publish.
  • Access lists: stop mail to an address or domain before it reaches your mailer.
  • Credentials are encrypted at rest, or can be supplied from wp-config.php constants and kept out of the database entirely.
  • Personal-data exporter and eraser for the email log, the mail queue and the debug log.
  • Pro: a backup mailer that takes over a message the primary refused, and can be promoted to primary when the primary stops working; open and click tracking; archived message content with re-send; weekly reports; bounce handling; blocklist monitoring.