Email Template Designer – WP HTML Mail

All in one email template designer for WooCommerce, Ninja Forms, Elementor Forms, Gravity Forms, CF7, Support Plus, EDD, ...

v3.4.9Hannes EtzelstorferUpdated 2025-03-04Added Jan 22, 201520k+ installs96% rating50% support resolved
34
Score
62
Errors
80
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability53

Top Issues by Category

maintainability62
security59
i18n15

Issues Details

142 issues found in latest scan

ERROR27
badly_named_files

File and folder names must not contain spaces or special characters.

WARNING24
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING10
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING9
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR7
WordPress.Security.EscapeOutput.OutputNotEscaped

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

WARNING7
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

WARNING7
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

ERROR7
WordPress.WP.I18n.MissingArgDomain

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

ERROR7
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'wp-html-mail' but got 'haet_mail'.

WARNING6
WordPress.PHP.DevelopmentFunctions.error_log_print_r

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

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING3
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "Email Template Designer - WP HTML Mail" - contains the restricted term "wp" which cannot be used at all in your plugin name.

ERROR2
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

ERROR2
WordPress.WP.AlternativeFunctions.file_system_operations_is_writable

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

ERROR2
missing_direct_file_access_protection

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

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.

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.

ERROR1
WordPress.WP.AlternativeFunctions.file_system_operations_chmod

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

ERROR1
WordPress.WP.AlternativeFunctions.file_system_operations_mkdir

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

ERROR1
WordPress.WP.AlternativeFunctions.rename_rename

rename() is discouraged. Use WP_Filesystem::move() to rename a file.

ERROR1
WordPress.WP.AlternativeFunctions.strip_tags_strip_tags

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNING1
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

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

Latest Snapshot

Findings

142

Errors

62

Warnings

80

Score History

First score snapshot

First scan completed Jun 20, 2026

v3.4.9 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v3.4.9

34

Latest

Findings
142
Errors
62
Warnings
80
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins