WPO365 | MICROSOFT 365 GRAPH MAILER

Send WordPress emails from a M365 / Exchange Online Mailbox using Microsoft Graph, leveraging OAuth for authentication which is more secure than SMTP

v5.6Marco van WierenUpdated 2026-06-05Added Feb 4, 202210k+ installs98% rating
37
Score
112
Errors
83
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability60

Top Issues by Category

i18n81
maintainability72
security42

Issues Details

195 issues found in latest scan

ERROR48
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'wpo365-msgraphmailer' but got 'wpo365-login'.

WARNING39
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound

Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "Wpo".

ERROR25
WordPress.WP.I18n.MissingArgDomain

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

ERROR12
wp_function_not_compatible_with_requires_wp

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

WARNING8
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

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

WARNING7
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET['message']

WARNING6
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

ERROR6
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

WARNING6
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR4
WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder

The %i modifier is only supported in WP 6.2 or higher. Found: "%i".

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

WARNING4
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "WPO365 | MICROSOFT 365 GRAPH MAILER" - contains the restricted term "wp" which cannot be used at all in your plugin name.

ERROR2
PluginCheck.CodeAnalysis.Offloading.OffloadedContent

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

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
update_modification_detected

Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

ERROR1
five_star_reviews_detected

Linking directly to 5 stars reviews is not allowed.

ERROR1
missing_direct_file_access_protection

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

ERROR1
plugin_updater_detected

Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: site_transient_update_plugins

Latest Snapshot

Findings

195

Errors

112

Warnings

83

Score History

First score snapshot

First scan completed Jun 20, 2026

v5.6 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v5.6

37

Latest

Findings
195
Errors
112
Warnings
83
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins