FluentSMTP – WP SMTP Plugin with Amazon SES, SendGrid, MailGun, Postmark, Google and Any SMTP Provider

The Ultimate Forever Free Mail SMTP Plugin for WordPress. Connect with any SMTP, SendGrid, Mailgun, Amazon SES, Brevo, Postmark, Sparkpost, Google...

v2.2.95Shahjahan JewelUpdated 2025-12-28Added Jan 18, 2021600k+ installs96% rating85% support resolved
29
Score
74
Errors
78
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability23

Top Issues by Category

maintainability71
security39
i18n23

Issues Details

152 issues found in latest scan

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

WARNING19
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR19
missing_direct_file_access_protection

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

ERROR13
WordPress.WP.AlternativeFunctions.curl_curl_setopt

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

WARNING12
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING5
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING5
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING4
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

WARNING4
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_REQUEST['display_name'] not unslashed before sanitization. Use wp_unslash() or similar

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

WARNING3
WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder

Complex placeholders used for values in the query string in $wpdb->prepare() will NOT be quoted automagically. Found: %1$s.

WARNING2
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $table at "SHOW TABLES LIKE '$table'"

ERROR2
WordPress.DB.RestrictedClasses.mysql__PDO

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: \PDO.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING2
WordPress.PHP.DevelopmentFunctions.error_log_error_log

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

WARNING2
WordPress.PHP.DevelopmentFunctions.prevent_path_disclosure_error_reporting

error_reporting() can lead to full path disclosure.

WARNING2
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING2
WordPress.Security.SafeRedirect.wp_redirect_wp_redirect

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

WARNING2
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_REQUEST['s']

ERROR2
five_star_reviews_detected

Linking directly to 5 stars reviews is not allowed.

WARNING1
Internal.NoCodeFound

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

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
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $table used in $wpdb->get_var()\n$table assigned unsafely at line 18.

WARNING1
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

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.

Latest Snapshot

Findings

152

Errors

74

Warnings

78

Score History

First score snapshot

First scan completed Jun 19, 2026

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

Jun 19, 2026

v2.2.95

29

Latest

Findings
152
Errors
74
Warnings
78
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins