WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin

Make email delivery easy for WordPress. Connect with SMTP, Gmail, Outlook, SendGrid, Mailgun, SES, Zoho, + more. Rated #1 WordPress SMTP Email plugin.

v4.8.0Syed BalkhiUpdated 2026-04-16Added Sep 12, 20074m+ installs96% rating97% support resolved
36
Score
18
Errors
146
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability61

Top Issues by Category

maintainability96
security60
i18n6
repo_compliance2

Issues Details

164 issues found in latest scan

WARNING37
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING35
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING33
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING18
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "WPMS_PHP_VER".

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR4
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.

ERROR4
missing_direct_file_access_protection

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

WARNING3
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "WP Mail SMTP by WPForms - The Most Popular SMTP and Email Log Plugin" - contains the restricted term "plugin" which cannot be used at all in your plugin name.

ERROR2
WordPress.Security.EscapeOutput.ExceptionNotEscaped

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

ERROR2
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'.

ERROR2
WordPress.WP.AlternativeFunctions.unlink_unlink

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

WARNING2
WordPress.WP.EnqueuedResourceParameters.NotInFooter

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

WARNING1
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.

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().

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().

ERROR1
WordPress.WP.I18n.MissingArgDomain

Missing $domain parameter in function call to esc_html__().

WARNING1
mismatched_plugin_name

Plugin name "WP Mail SMTP by WPForms - The Most Popular SMTP and Email Log Plugin" is different from the name declared in plugin header "WP Mail SMTP".

WARNING1
missing_composer_json_file

The "/vendor" directory using composer exists, but "composer.json" file is missing.

ERROR1
plugin_header_invalid_network

The "Network" header in the plugin file is not valid. Can only be set to true, and should be left out when not needed.

ERROR1
plugin_header_no_license

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

Latest Snapshot

Findings

164

Errors

18

Warnings

146

Score History

First score snapshot

First scan completed Jun 19, 2026

v4.8.0 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v4.8.0

36

Latest

Findings
164
Errors
18
Warnings
146
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins