Gmail SMTP

Connect to Gmail SMTP server to automatically send email from your WordPress site. Configure wp_mail() to use SMTP with OAuth 2.0 authentication.

v1.2.3.20Noor AlamUpdated 2026-06-15Added Nov 12, 201510k+ installs82% rating0% support resolved
37
Score
84
Errors
73
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability62

Top Issues by Category

security114
maintainability36
i18n3

Issues Details

157 issues found in latest scan

ERROR38
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNING21
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET['action'] not unslashed before sanitization. Use wp_unslash() or similar

ERROR14
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"($name) missing required param: '$paramName'"'.

WARNING12
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR11
WordPress.Security.EscapeOutput.OutputNotEscaped

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

WARNING10
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_POST['from_name']

WARNING9
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING6
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

ERROR5
WordPress.WP.AlternativeFunctions.curl_curl_setopt

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

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

ERROR4
WordPress.WP.AlternativeFunctions.rand_mt_rand

mt_rand() is discouraged. Use the far less predictable wp_rand() instead.

ERROR3
missing_direct_file_access_protection

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

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "GmailXOAuth2".

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

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

ERROR1
PluginCheck.CodeAnalysis.Heredoc.NotAllowed

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;is_gmail_smtp_configured&quot;.

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_trigger_error

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

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_var_export

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

WARNING1
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING1
WordPress.Security.SafeRedirect.wp_redirect_wp_redirect

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; 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.

ERROR1
WordPress.WP.AlternativeFunctions.curl_curl_close

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

ERROR1
WordPress.WP.AlternativeFunctions.curl_curl_exec

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

ERROR1
WordPress.WP.AlternativeFunctions.curl_curl_init

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

Latest Snapshot

Findings

157

Errors

84

Warnings

73

Score History

First score snapshot

First scan completed Jun 20, 2026

v1.2.3.20 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v1.2.3.20

37

Latest

Findings
157
Errors
84
Warnings
73
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins