Mailgun for WordPress

Easily send email from your WordPress site through Mailgun using the HTTP API or SMTP.

v2.2.0MailgunUpdated Added 80k+ installs76% rating
31
Score
144
Errors
78
Warnings
+0
Change

Category Scores

Security0
Repo87
Performance100
Maintainability41

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

222 findings

Security

98

6 issue groups

Maintainability

73

13 issue groups

I18n

40

6 issue groups

ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.74
Category
Security
Occurrences
74
Severity
error

Sample message

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

WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "list_address".19
Category
Maintainability
Occurrences
19
Severity
warning

Sample message

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

WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$api_key".18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

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

WARNINGMaintainabilityNon Prefixed Function FoundFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "get_mime_content_type".17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().14
Category
I18n
Occurrences
14
Severity
error

Sample message

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

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$message'.11
Category
Security
Occurrences
11
Severity
error

Sample message

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

ERRORI18nMissing Translators CommentA 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.10
Category
I18n
Occurrences
10
Severity
error

Sample message

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.

ERRORI18nNon Singular String Literal TextThe $text parameter must be a single text string literal. Found: $mailgunReplyTo8
Category
I18n
Occurrences
8
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $mailgunReplyTo

WARNINGSecurityMissing Unslash$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar6
Category
Security
Occurrences
6
Severity
warning

Sample message

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

ERRORMaintainabilitymissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

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

Show 15 more
ERRORI18nText Domain Mismatch4
Category
I18n
Occurrences
4
Severity
error

Sample message

Mismatched text domain. Expected 'mailgun' but got 'woocommerce'.

WARNINGSecurityMissing3
Category
Security
Occurrences
3
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitywp function not compatible with requires wp3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Function "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.6.0.

WARNINGI18nload plugin textdomain Found2
Category
I18n
Occurrences
2
Severity
warning

Sample message

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.

ERRORMaintainabilityOffloaded Content2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Offloading images, js, css, and other scripts to your servers or any remote service is disallowed.

WARNINGMaintainabilityerror log error log2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGSecurityInput Not Sanitized2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

WARNINGSecurityInput Not Validated2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

WARNINGI18nNo Html Wrapped Strings2
Category
I18n
Occurrences
2
Severity
warning

Sample message

Translatable string should not be wrapped in HTML. Found: '<div id="message" class="updated fade"><p>The lists page for the <strong>Mailgun</strong> plugin cannot be displayed. The file <strong>%s</strong> is missing. Please reinstall the plugin.</p></div>'

ERRORMaintainabilitydate date1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityNon Prefixed Class Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

ERRORMaintainabilityfile system operations fclose1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORMaintainabilityfile system operations fopen1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORMaintainabilityfile system operations fwrite1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORMaintainabilityrand rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

Score History

First score snapshot

v2.2.0

31

Latest

Findings
222
Errors
144
Warnings
78
Check
2.0.0

Related Plugins

99
SMTP for Contact Form 7

1k+ active installs

99
Simple SMTP

2k+ active installs

97
WP-REST-API V2 Menus

3k+ active installs

96
Make Connector

80k+ active installs

94