Easy WP SMTP – WordPress SMTP and Email Logs: Gmail, Office 365, Outlook, Custom SMTP, and more

Make SMTP email sending and delivery easy. Configure Gmail, Outlook, Brevo, SendGrid, Mailgun, SendLayer or connect to any SMTP server.

v2.14.0Syed BalkhiUpdated 2026-04-01Added Apr 17, 2013500k+ installs92% rating100% support resolved
15
Score
32
Errors
163
Warnings
+0
Change

Category Scores

Security0
Repo75
Performance100
Maintainability54

Top Issues by Category

maintainability91
security88
i18n8

Issues Details

195 issues found in latest scan

WARNING35
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING34
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $attachment_files_table used in $wpdb->query()\n$attachment_files_table assigned unsafely at line 103.

WARNING27
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$as_queue_runner".

WARNING15
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_POST['sd_code'] not unslashed before sanitization. Use wp_unslash() or similar

WARNING13
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING8
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

ERROR7
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERROR6
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" is less than iv length {$this->iv_num_bytes}"'.

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "admin_head".

WARNING5
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET['sendlayer_quick_connect_disconnect_result']

ERROR4
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$help_text'.

WARNING4
WordPress.WP.I18n.NoHtmlWrappedStrings

Translatable string should not be wrapped in HTML. Found: '<p><a href="%1$s" target="_blank" rel="noopener noreferrer">Brevo</a> (formerly Sendinblue) is a transactional email provider and email marketing platform. It’s suitable for businesses of all sizes, as it offers scalable pricing plans that can grow with you. New business owners can use the free plan to send up to 300 emails a day without providing credit card details. As your needs change, you can upgrade to increase your sending limits.</p>'

WARNING3
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_POST['swpsmtp_smtp_host']. Check that the array index exists before using it.

ERROR3
WordPress.WP.AlternativeFunctions.unlink_unlink

unlink() is discouraged. Use wp_delete_file() to delete a file.

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "Easy WP SMTP – WordPress SMTP and Email Logs: Gmail, Office 365, Outlook, Custom SMTP, and more" - contains the restricted term "wordpress" which cannot be used at all in your plugin name.

ERROR3
wp_function_not_compatible_with_requires_wp

Function "wp_timezone()" requires WordPress 5.3.0, but your plugin minimum supported version is WordPress 5.2.0.

WARNING2
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "swpsmtp_settings".

ERROR2
WordPress.WP.I18n.MissingTranslatorsComment

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

WARNING1
Squiz.PHP.DiscouragedFunctions.Discouraged

The use of function set_time_limit() is discouraged

WARNING1
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERROR1
WordPress.DateTime.RestrictedFunctions.date_date

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_print_r

print_r() found. Debug code should not normally be used in production.

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_var_dump

var_dump() found. Debug code should not normally be used in production.

ERROR1
WordPress.WP.AlternativeFunctions.file_system_operations_is_writeable

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writeable().

Latest Snapshot

Findings

195

Errors

32

Warnings

163

Score History

First score snapshot

First scan completed Jun 19, 2026

v2.14.0 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v2.14.0

15

Latest

Findings
195
Errors
32
Warnings
163
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins