{"id":359718,"date":"2026-09-15T02:21:48","date_gmt":"2026-09-15T02:21:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cybex-smtp\/"},"modified":"2026-09-15T05:20:16","modified_gmt":"2026-09-15T05:20:16","slug":"cybexsoft-smtp","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/cybexsoft-smtp\/","author":13573484,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"5.5","requires_php":"7.4","requires_plugins":null,"header_name":"Cybexsoft SMTP","header_author":"Cybexsoft","header_description":"Reliable transactional email for WordPress. Connect a real mailer, log every message, retry what fails, and diagnose deliverability issues.","assets_banners_color":"96add6","last_updated":"2026-09-15 05:20:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/cybexsoft.com\/products\/cybex-wp-smtp","header_author_uri":"https:\/\/cybexsoft.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"rahul1099","date":"2026-09-15 02:21:23","revision":3696103},"1.0.1":{"tag":"1.0.1","author":"rahul1099","date":"2026-09-15 05:20:16","revision":3696218}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3696172,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3696172,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3696172,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3696172,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3696172,"resolution":"1","location":"assets","locale":"","width":1349,"height":1525},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3696172,"resolution":"2","location":"assets","locale":"","width":1349,"height":1422},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3696172,"resolution":"3","location":"assets","locale":"","width":1349,"height":1185},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3696172,"resolution":"4","location":"assets","locale":"","width":1349,"height":2849},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3696172,"resolution":"5","location":"assets","locale":"","width":1349,"height":1872}},"screenshots":{"1":"The dashboard: which mailer is connected, SPF\/DKIM\/DMARC at a glance, a deliverability score, 30-day sent, delivered, failed and open-rate figures, a 14-day volume chart, a setup checklist, and the most recent messages with their opens and clicks.","2":"The email log: every message with subject, recipient, status, date and engagement, searchable and filterable by delivered or failed, with CSV export and a list of the links your readers clicked most.","3":"Deliverability: SPF, DKIM and DMARC checked against your sending domain with the records found, the exact DNS changes to make, infrastructure checks for the server itself, and blocklist monitoring of your sending IP.","4":"Settings: the mailers this site sends through and the role each one holds, a catalogue of providers to add, and what should happen when the primary mailer starts refusing mail."}},"plugin_section":[],"plugin_tags":[17561,267,26736,9965,6696],"plugin_category":[41],"plugin_contributors":[280759],"plugin_business_model":[],"class_list":["post-359718","plugin","type-plugin","status-publish","hentry","plugin_tags-deliverability","plugin_tags-email","plugin_tags-email-log","plugin_tags-mailer","plugin_tags-smtp","plugin_category-communication","plugin_contributors-rahul1099","plugin_committers-rahul1099"],"banners":{"banner":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/banner-772x250.png?rev=3696172","banner_2x":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/banner-1544x500.png?rev=3696172","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/icon-128x128.png?rev=3696172","icon_2x":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/icon-256x256.png?rev=3696172","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/screenshot-1.png?rev=3696172","caption":"The dashboard: which mailer is connected, SPF\/DKIM\/DMARC at a glance, a deliverability score, 30-day sent, delivered, failed and open-rate figures, a 14-day volume chart, a setup checklist, and the most recent messages with their opens and clicks."},{"src":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/screenshot-2.png?rev=3696172","caption":"The email log: every message with subject, recipient, status, date and engagement, searchable and filterable by delivered or failed, with CSV export and a list of the links your readers clicked most."},{"src":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/screenshot-3.png?rev=3696172","caption":"Deliverability: SPF, DKIM and DMARC checked against your sending domain with the records found, the exact DNS changes to make, infrastructure checks for the server itself, and blocklist monitoring of your sending IP."},{"src":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/screenshot-4.png?rev=3696172","caption":"Settings: the mailers this site sends through and the role each one holds, a catalogue of providers to add, and what should happen when the primary mailer starts refusing mail."},{"src":"https:\/\/ps.w.org\/cybexsoft-smtp\/assets\/screenshot-5.png?rev=3696172","caption":""}],"raw_content":"<!--section=description-->\n<p>WordPress sends mail with PHP's <code>mail()<\/code> function by default, which many hosts throttle or block outright \u2014 so the message never arrives and nothing on the site says so.<\/p>\n\n<p>This plugin replaces that transport and then keeps working after the swap, which is the part most setups leave out:<\/p>\n\n<ul>\n<li><strong>Several mailers at once, with roles.<\/strong> 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.<\/li>\n<li><strong>Nothing is silently lost.<\/strong> 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.<\/li>\n<li><strong>A connection trace, step by step.<\/strong> Watch the handshake with your mail server or API key and see exactly which step fails, instead of reading \"could not send\".<\/li>\n<li><strong>Deliverability diagnostics that tell you what to publish.<\/strong> SPF, DKIM and DMARC checked against your sending domain, with the record found, what it means, and the exact change to make.<\/li>\n<\/ul>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li>Mailers: generic SMTP, Amazon SES (via SMTP), SendGrid, Mailgun, Brevo, SMTP2GO, or default PHP mail \u2014 set up as many as you like and choose which one sends<\/li>\n<li>Email log with search, status filter, and CSV export \u2014 kept indefinitely<\/li>\n<li>Held mail: a message whose send fails is kept and retried on a widening schedule instead of being lost<\/li>\n<li>Domain diagnostics: SPF, DKIM and DMARC record checks<\/li>\n<li>Send test emails and trace the connection to your mailer step by step, with a rolling debug log for failures<\/li>\n<li>Force-from controls so other plugins can't silently change your From address<\/li>\n<li>Allow &amp; block lists: never email a blocked address or domain again<\/li>\n<li>Failure alerts: an email to you once sending starts failing, at a threshold you set<\/li>\n<li>Credentials encrypted at rest, or supplied from wp-config.php and kept out of the database entirely<\/li>\n<\/ul>\n\n<p><strong>Cybexsoft SMTP Pro<\/strong> 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:<\/p>\n\n<ul>\n<li>Open &amp; click tracking<\/li>\n<li>Automatic blocking of addresses that keep bouncing, and an allow-list-only mode that stops a staging site emailing real customers<\/li>\n<li>Backup mailer with automatic failover<\/li>\n<li>Richer failure alerts: several recipients, your own counting window and quiet period, and no alarm for a message the backup mailer already rescued<\/li>\n<li>Postmark, Resend, MailerSend, Mailjet, Elastic Email and Zoho ZeptoMail mailers, plus Gmail &amp; Outlook over OAuth<\/li>\n<li>Automatic log pruning on a retention window you set, plus a full content archive<\/li>\n<li>Weekly deliverability reports<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to the external services listed below. Sending email\nnecessarily involves handing your message to a mail provider, so the mailer\nyou choose is the main one \u2014 but the plugin only ever talks to the provider\nyou configured, using credentials you supplied. Everything else here is\noptional and off until you act.<\/p>\n\n<h4>The mailer you configure<\/h4>\n\n<p>The plugin sends your outgoing WordPress email through whichever mailer you\nselect under Settings. Five of the free mailers are third-party services of\ntheir own: four HTTP APIs and Amazon SES. In each case what is sent is the\noutgoing message \u2014 recipients, subject, body, attachments and headers \u2014\ntogether with the credential you configured, and only while that mailer is the\nselected one:<\/p>\n\n<ul>\n<li><strong>SendGrid<\/strong> \u2014 sent to <code>https:\/\/api.sendgrid.com<\/code>. Service provided by\nTwilio SendGrid: <a href=\"https:\/\/www.twilio.com\/en-us\/legal\/tos\">terms of service<\/a>,\n<a href=\"https:\/\/www.twilio.com\/en-us\/legal\/privacy\">privacy policy<\/a>.<\/li>\n<li><strong>Mailgun<\/strong> \u2014 sent to your configured Mailgun API host. Service provided by\nMailgun: <a href=\"https:\/\/www.mailgun.com\/terms\/\">terms of service<\/a>,\n<a href=\"https:\/\/www.mailgun.com\/privacy-policy\/\">privacy policy<\/a>.<\/li>\n<li><strong>Brevo<\/strong> \u2014 sent to <code>https:\/\/api.brevo.com<\/code>. Service provided by Brevo:\n<a href=\"https:\/\/www.brevo.com\/legal\/termsofuse\/\">terms of service<\/a>,\n<a href=\"https:\/\/www.brevo.com\/legal\/privacypolicy\/\">privacy policy<\/a>.<\/li>\n<li><strong>SMTP2GO<\/strong> \u2014 sent to <code>https:\/\/api.smtp2go.com<\/code>. Service provided by\nSMTP2GO: <a href=\"https:\/\/www.smtp2go.com\/terms\/\">terms of service<\/a>,\n<a href=\"https:\/\/www.smtp2go.com\/privacy\/\">privacy policy<\/a>.<\/li>\n<li><strong>Amazon SES<\/strong> \u2014 sent over SMTP to <code>email-smtp.&lt;region&gt;.amazonaws.com<\/code>, for\nthe AWS region you select in the settings. What is sent is the outgoing\nmessage, authenticated with the SES SMTP username and password you\nconfigured, and only while Amazon SES is the selected mailer. Service\nprovided by Amazon Web Services:\n<a href=\"https:\/\/aws.amazon.com\/service-terms\/\">service terms<\/a>,\n<a href=\"https:\/\/aws.amazon.com\/privacy\/\">privacy notice<\/a>.<\/li>\n<\/ul>\n\n<p>The remaining free mailers \u2014 generic SMTP and PHP mail \u2014 connect to the mail\nserver you name in the settings, not to a service of ours. The Tools tab's\nconnection trace opens a connection to that same server and stops before any\nmessage is sent.<\/p>\n\n<p>For SendGrid and Mailgun, that same connection trace instead checks your key\nagainst the provider without sending any message: it requests\n    https:\/\/api.sendgrid.com\/v3\/scopes with your API key, or\n    https:\/\/api.mailgun.net (or <code>api.eu.mailgun.net<\/code> on the EU region) with your\nAPI key and the sending domain you configured. It runs only when you click it,\nand nothing else about your site is sent.<\/p>\n\n<h4>Cybexsoft licence server<\/h4>\n\n<p>Used only once you have entered a Pro licence key under Cybexsoft SMTP \u2192 License.<\/p>\n\n<p>Your licence key, your site's home URL, and the product and version being\nlicensed are sent to <code>https:\/\/cybexsoft.com\/api\/licenses\/verify<\/code> when a key is\nactivated and periodically thereafter to confirm it is still valid, and to\n    https:\/\/cybexsoft.com\/api\/licenses\/deactivate when a key is removed. Nothing\nis sent while no licence key is stored, and the free plugin never contacts\nthese addresses at all \u2014 they are used only by the Pro add-on.<\/p>\n\n<p>Service provided by Cybexsoft: <a href=\"https:\/\/cybexsoft.com\/terms-of-service\">terms of service<\/a>,\n<a href=\"https:\/\/cybexsoft.com\/privacy-policy\">privacy policy<\/a>.<\/p>\n\n<h4>\"Get Pro for Free\" request form<\/h4>\n\n<p>Used only if you open that form and submit it.<\/p>\n\n<p>The name, email address, website and message you type, are emailed to\nadmin@cybexsoft.com so we can send you the Pro download and a licence key. The\nrequest is sent through this plugin's own mailer \u2014 it is an ordinary email,\nnot a background call \u2014 and if your site cannot send mail yet, the form offers\nto open the same request in your own email application instead.<\/p>\n\n<h4>Deactivation feedback<\/h4>\n\n<p>Used only if you choose a reason in the dialog shown when you deactivate the\nplugin. The dialog can be skipped, and skipping it sends nothing; deactivation\nproceeds either way.<\/p>\n\n<p>If you do submit a reason, your site's URL, the plugin version and build, the\nmailer you had configured, the reason you picked and any note you wrote are\nemailed to admin@cybexsoft.com.<\/p>\n\n<h4>showdns.net<\/h4>\n\n<p>The Deliverability tab links out to <code>https:\/\/showdns.net<\/code>, which runs the same\nSPF, DKIM and DMARC checks from outside your server. The plugin makes no\nrequest to it \u2014 nothing is sent unless you click the link, at which point your\nbrowser visits it like any other site and the domain being checked appears in\nthe URL.<\/p>\n\n<p>Service provided by Cybexsoft: <a href=\"https:\/\/showdns.net\/privacy\">privacy policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>cybexsoft-smtp<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Cybexsoft SMTP \u2192 Settings and choose a mailer.<\/li>\n<li>Send a test email from the Tools tab to confirm everything works.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20php%20versions%20are%20supported%3F\"><h3>Which PHP versions are supported?<\/h3><\/dt>\n<dd><p>PHP 7.4 through the latest stable release.<\/p><\/dd>\n<dt id=\"does%20this%20store%20my%20smtp%20password%20in%20plain%20text%3F\"><h3>Does this store my SMTP password in plain text?<\/h3><\/dt>\n<dd><p>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 <code>CYBEX_SMTP_ENCRYPTION_KEY<\/code> in wp-config.php first so stored credentials survive the rotation.<\/p>\n\n<p>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 \u2014 there is then nothing to encrypt with, and credentials are stored as you typed them. If that matters to you, ask your host whether <code>sodium<\/code> is enabled, or look for it in a phpinfo report.<\/p>\n\n<p>Either way, you can keep a credential out of the database entirely by defining it in wp-config.php \u2014 <code>CYBEX_SMTP_PASSWORD<\/code>, <code>CYBEX_SMTP_SES_PASSWORD<\/code>, <code>CYBEX_SMTP_SENDGRID_API_KEY<\/code>, <code>CYBEX_SMTP_MAILGUN_API_KEY<\/code>, <code>CYBEX_SMTP_BREVO_API_KEY<\/code> or <code>CYBEX_SMTP_SMTP2GO_API_KEY<\/code>. A defined constant overrides whatever is stored, and is never written back to the database.<\/p>\n\n<p>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.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20pro%20features%3F\"><h3>How do I get Pro features?<\/h3><\/dt>\n<dd><p>Click <strong>Get Pro for Free<\/strong> 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.<\/p>\n\n<p>The download is a separate plugin, <strong>Cybexsoft SMTP Pro<\/strong>, which you install alongside this one: Plugins \u2192 Add New \u2192 Upload Plugin, then activate. Keep Cybexsoft SMTP active \u2014 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.<\/p><\/dd>\n<dt id=\"will%20updating%20cybexsoft%20smtp%20remove%20my%20pro%20features%3F\"><h3>Will updating Cybexsoft SMTP remove my Pro features?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>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 \u2014 leaving the license behind and the features gone. Nothing to watch out for now.<\/p><\/dd>\n<dt id=\"where%20do%20i%20enter%20my%20pro%20license%20key%3F\"><h3>Where do I enter my Pro license key?<\/h3><\/dt>\n<dd><p>The <strong>License<\/strong> tab in Cybexsoft SMTP. Paste the key we emailed you there.<\/p>\n\n<p>With the Pro plugin not yet installed the key is saved but shown as unverified, because nothing on this side can check one \u2014 activating Cybexsoft SMTP Pro verifies it.<\/p><\/dd>\n<dt id=\"the%20request%20form%20says%20it%20could%20not%20send.%20now%20what%3F\"><h3>The request form says it could not send. Now what?<\/h3><\/dt>\n<dd><p>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 \u2014 nothing is lost.<\/p><\/dd>\n<dt id=\"my%20email%20log%20shows%20a%20%22blocked%22%20row.%20what%20is%20that%3F\"><h3>My email log shows a \"Blocked\" row. What is that?<\/h3><\/dt>\n<dd><p>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 \u2014 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.<\/p><\/dd>\n<dt id=\"does%20the%20email%20log%20slow%20my%20site%20down%3F\"><h3>Does the email log slow my site down?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: the Plugins screen stopped with a fatal error (undefined constant KEEP_DATA_OPTION) when loading the deactivation dialog.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>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.<\/li>\n<li>Email log: every message with its subject, recipient, status and date, searchable, filterable and exportable to CSV.<\/li>\n<li>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.<\/li>\n<li>Failure alerts by email, at a threshold you set.<\/li>\n<li>Deliverability tab: SPF, DKIM and DMARC checks with the record that was found, what it means, and what to publish.<\/li>\n<li>Access lists: stop mail to an address or domain before it reaches your mailer.<\/li>\n<li>Credentials are encrypted at rest, or can be supplied from wp-config.php constants and kept out of the database entirely.<\/li>\n<li>Personal-data exporter and eraser for the email log, the mail queue and the debug log.<\/li>\n<li>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.<\/li>\n<\/ul>","raw_excerpt":"Reliable transactional email for WordPress. Connect a real mailer, log every message, retry what fails, and diagnose deliverability issues.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359718"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rahul1099"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359718"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359718"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359718"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359718"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359718"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}