WordPress plugin intelligence profile

DixonSMTP for Outlook & Microsoft 365

Send WordPress emails reliably through Outlook.com / Microsoft 365 SMTP with OAuth 2.0, email logging, and a built-in test tool.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.0
Current version1.0.0
WordPress coverageTested up to WordPress 7.0
Minimum stackWP 6.2 · PHP 7.4
Directory statusactive
Last directory update21 Jul 20263mo ago
Active installations40Adoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records DixonSMTP for Outlook & Microsoft 365 version 1.0.0 as active, updated 3mo ago and tested up to WordPress 7.0.

Overview

About this plugin

WordPress’ default PHP mail() delivery is frequently blocked or spam-foldered. DixonSMTP for Outlook & Microsoft 365 routes every email your site sends (core, WooCommerce, WPForms, Contact Form 7, Gravity Forms, and anything else using wp_mail() ) through Microsoft’s SMTP servers — authenticated, encrypted, and deliverable.

100% free. No premium upsell, no paid tiers, no feature gating.

Why OAuth 2.0?

Microsoft has deprecated Basic Authentication for Exchange Online and is progressively disabling password-based SMTP AUTH (new Microsoft 365 tenants have it off by default). 0 (“Modern Authentication”) is the supported, secure path forward — which is why this plugin is OAuth-only by design. It implements the full Microsoft identity platform authorization code flow with automatic token refresh, so you sign in once and it keeps working.

Features

  • OAuth 2.0 (Modern Auth) for Microsoft 365 / Entra ID — authorization code flow, automatic access-token refresh, encrypted token storage
  • From Email / From Name with optional force-override (recommended — Microsoft rejects mismatched senders)
  • Test email tool with a full SMTP debug transcript
  • Email log (last 10–500 emails, configurable) with status and error details in a custom table
  • Optional fallback to the default PHP mailer when SMTP fails
  • Failure notifications to the site admin after repeated errors (rate-limited)
  • Debug mode compatible with WP_DEBUG_LOG
  • Multisite compatible (network activation supported; settings are per-site)
  • Secrets (client secret, OAuth tokens) stored encrypted (AES-256 keyed from your WordPress salts)
  • Translation-ready, fully sanitized/escaped, capability + nonce protected

Compatibility

Works with any plugin that sends mail through wp_mail(): WPForms, Contact Form 7, Gravity Forms, Ninja Forms, WooCommerce, Easy Digital Downloads, membership and newsletter plugins, etc.

Microsoft 365 / Azure OAuth Setup

You need a (free) app registration in Microsoft Entra ID. One-time setup, about 5 minutes:

1. Register the application

  • Sign in to https://entra.microsoft.com (or the Azure Portal → Microsoft Entra ID).
  • Go to Identity → Applications → App registrations → New registration.
  • Name: e.g. WordPress SMTP.
  • Supported account types:
  • Accounts in this organizational directory only — single company tenant (most common; use your Tenant ID in the plugin).
  • Accounts in any organizational directory and personal Microsoft accounts — needed for personal Outlook.com mailboxes (use common in the plugin).
  • Redirect URI: choose platform Web and paste the exact Redirect URI shown on the plugin’s OAuth 2.0 tab

com/wp-json/dxn-outlook/v1/callback ).

  • Click Register.

2. Collect the IDs

  • On the app’s Overview page copy the Application (client) ID and Directory (tenant) ID into the plugin’s OAuth tab.

3. Create a client secret

  • Go to Certificates & secrets → New client secret.
  • Choose an expiry (set a calendar reminder — you must rotate it before expiry!).
  • Copy the secret Value (not the Secret ID) immediately — it is shown only once — and paste it into the plugin.

4. Add API permissions

  • Go to API permissions → Add a permission.
  • Choose APIs my organization uses and search for Office 365 Exchange Online

Send appears there in your tenant).

  • Select Delegated permissions → SMTP.Send, then Add.
  • offline_access, openid, profile, email are requested automatically at sign-in; no admin action usually needed. If your tenant requires it, click Grant admin consent.

5. Enable SMTP AUTH for the mailbox

Even with OAuth, Exchange Online requires SMTP AUTH to be allowed for the sending mailbox:

  • Microsoft 365 admin center → Users → Active users → select user → Mail → Manage email apps → check Authenticated SMTP, or
  • PowerShell: Set-CASMailbox -Identity [email protected] -SmtpClientAuthenticationDisabled $false

6. Authorize the plugin

  • Save the Client ID, Client Secret and Tenant ID on the plugin’s OAuth 2.0 tab.
  • Click Sign in with Microsoft & Authorize and sign in with the mailbox that should send email.
  • When you return, the status shows Connected. Send a test email.

External Services

This plugin connects to Microsoft services in order to authenticate and deliver email. No data is sent to the plugin author or any other third party.

  • Microsoft identity platform ( login.microsoftonline.com ) — used for OAuth 2.0 sign-in and token refresh. Sends your Azure app Client ID, Client Secret, authorization codes and refresh tokens. Contacted when you click “Sign in with Microsoft” and automatically before sending when the access token needs refreshing.
  • Microsoft SMTP servers ( smtp.office365.com or the host you configure) — used to deliver email. Sends the email content, sender and recipient addresses, and an OAuth access token for authentication. Contacted on every outgoing email.

These services are provided by Microsoft: Terms of Use, Privacy Statement.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • microsoft 365
  • email
  • oauth
  • outlook
  • smtp
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 7.0

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 7.0.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.0
Minimum requirementsWordPress 6.2 · PHP 7.4
Update activity21 Jul 20263mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.