Mail Integration for Office 365/Outlook by Cross Connected


Mail Integration for Office 365/Outlook (using OAuth2 and Microsoft’s Graph API rather than SMTP)

This plugin addresses the limitations of current free SMTP plugins, allowing you to send email from WordPress via your Microsoft Account and ensure your email gets delivered reliably, avoiding the spam box! Note, unlike other free SMTP plugins, this one authenticates with the Microsoft Graph API rather than SMTP using OAuth2. This addresses the recent change by Microsoft to disable basic authentication over SMTP (i.e. username and password), preventing other free SMTP plugins from working with Microsoft Accounts. Unfortunately, Microsoft has yet to enable their Graph API to work with the free versions of Outlook, Live, Hotmail etc. The plugin should however work with the paid for personal and business versions of Office 365, Outlook and Microsoft Exchange.

Setup Instructions

You will need to follow the steps outlined on the following website to setup this plugin correctly:


You will need to follow the steps outlined on the following website to setup this plugin correctly:


What does it do?

Put simply, the plugin relays all emails sent from WordPress through your Microsoft email account (or an account of your choosing, for example a shared mailbox). This helps improve the deliverability of your WordPress mail, as Microsoft’s mail servers are set up to avoid being flagged as spam, and should already be configured as the trusted mail server for your domain.

Why another WordPress mail plugin?!

Microsoft has disabled basic authentication (username and password) over the SMTP protocol, requiring more modern and secure methods of authentication such as OAuth 2.0 (the protocol used by this plugin). As such most of the SMTP plugins available do not support Office 365/Outlook, or if they do, the functionality is a paid for feature.

What are the prerequisites?

To start using Mail Integration for Office 365, you need to setup a Microsoft Azure Active Directory account. Azure Active Directory comes in several flavours (paid and free), but it is possible to use the free tier for the purpose of this plugin. You can register for this here (you’re probably already registered if you are using Office 365). You will also need SSL enabled for at least the admin side of your website to ensure the OAuth keys are exchanged over a secure connection.


January 16, 2021
Edward goes above and beyond. Plus no other plugin does what this does so simply. they all want you to create subscriptions with mailchimp or other providers, but why should we when the tools are sitting right their in azure
December 10, 2020
Follow the instructions to the letter and it works. The only issue I found with this is that when sending through Gravity Forms, I can't for some reason send to multiple comma separated recipients. Other than that it works perfectly.
December 1, 2020
If you're willing to be patient and follow the setup guide, the plugin does what it says on the tin. We're now able to send emails through our Office 365 email account and shared mailbox. Exactly what we were looking for.
Read all 4 reviews

Contributors & Developers

“Mail Integration for Office 365/Outlook by Cross Connected” is open source software. The following people have contributed to this plugin.



Ver. 1.3.0 – Changed error and OAuth scope handling.
Ver. 1.2.0 – Added support for sending attachments <3MB in size. Fixed session bug with WordPress API.
Ver. 1.1.0 – Added prefix namespace to composer libraries to avoid conflicts with other plugins using Guzzle whilst also updating the oauth2-azure library at the same time.
Ver. 1.0.4 – Fixed issue with code running outside of settings page, leading to error messages on admin backend. Replaced localhost with if present in redirect URI to prevent potential hostname resolution issues. Updated to handle multiple “to” email addresses (either as a comma separated string, or a one dimensional array)
Ver. 1.0.3 – Fixed issue with send as feature, preventing emails being sent on behalf of others.
Ver. 1.0.2 – Updated readme.txt description and tags.
Ver. 1.0.1 – Fixed minor spelling and display issues.