Title: VR SMTP Mailer
Author: Vinod Ram
Published: <strong>11 d'abril de 2026</strong>
Last modified: 11 d'abril de 2026

---

Cerca extensions

![](https://ps.w.org/vr-smtp-mailer/assets/banner-772x250.png?rev=3503943)

![](https://ps.w.org/vr-smtp-mailer/assets/icon-256x256.png?rev=3503943)

# VR SMTP Mailer

 Per [Vinod Ram](https://profiles.wordpress.org/vinodkram/)

[Baixa](https://downloads.wordpress.org/plugin/vr-smtp-mailer.zip)

 * [Detalls](https://ca.wordpress.org/plugins/vr-smtp-mailer/#description)
 * [Ressenyes](https://ca.wordpress.org/plugins/vr-smtp-mailer/#reviews)
 *  [Instal·lació](https://ca.wordpress.org/plugins/vr-smtp-mailer/#installation)
 * [Desenvolupament](https://ca.wordpress.org/plugins/vr-smtp-mailer/#developers)

 [Suport](https://wordpress.org/support/plugin/vr-smtp-mailer/)

## Descripció

VR SMTP Mailer replaces the default WordPress mail transport with SMTP or an OAuth-
based mail API, with full support for Microsoft 365 (Office365), Outlook SMTP, and
Microsoft Graph API.

It is designed as a complete email solution for WordPress — combining SMTP delivery,
OAuth authentication, and API-based sending in a single plugin, without requiring
multiple paid extensions.

### Why choose this plugin

 * Works with Microsoft 365 / Office365 and Outlook SMTP
 * Supports both SMTP and OAuth (Graph API) in one plugin
 * No need to install multiple plugins for authentication and email delivery
 * Designed to work as a full wp_mail replacement
 * Includes features commonly available only in paid plugins
 * No subscriptions or locked features

Send emails using either SMTP or an OAuth-based mail API (Graph-compatible).
 Works
with wp_mail() (for immediate sends): When WordPress sends emails through this plugin,
it keeps the same structure as the default wp_mail() function. This includes support
for multiple recipients, subject, message body, headers (From, Cc, Bcc, Reply-To,
Content-Type), attachments, and inline images where supported. Standard WordPress
filters like wp_mail, wp_mail_from, wp_mail_content_type, and phpmailer_init are
applied in SMTP mode, so behavior remains consistent with native WordPress email
handling. Graph API limitations: When using the Graph API, emails support HTML or
plain text content, along with To, Cc, Bcc, and Reply-To fields. Attachments and
inline images are supported, but typically limited to around 3 MB per file. Custom
MIME headers are not fully supported, and only standard fields are mapped to the
API. More complex email structures may behave differently compared to traditional
PHP mail handling. Email queue (WP-Cron): Emails can be queued and processed later
using WP-Cron. Queued emails store only basic details such as recipient, subject,
and message body. Attachments, headers, and inline images are not included in queued
jobs. Automatic OAuth token refresh: Access tokens are refreshed automatically to
ensure uninterrupted email delivery. Secure OAuth handling: Token exchange (authorization
code to access/refresh tokens) is restricted to users with administrator-level permissions(
manage_options). You must be logged in as an admin when completing the OAuth connection.
Testing tools included: Includes a built-in test email feature and an SMTP connection
tester to help verify configuration. Logging and debugging: Email activity and debug
information are stored in custom database tables for troubleshooting and monitoring.

Security and stored secrets

This plugin stores SMTP passwords, OAuth client secrets, refresh tokens, and access
tokens in the WordPress options table, using the same approach as most WordPress
settings. These values are not encrypted at rest.

Anyone with access to the database, a full site backup, or an administrator account
could potentially view this information. It’s recommended to use strong admin credentials,
secure hosting, and limit your app permissions to only what is required.

This plugin is not affiliated with or endorsed by Microsoft. Microsoft, Microsoft
365, Azure, Office, and related names are trademarks of Microsoft Corporation. These
names are used only to describe compatibility and technical functionality.

Do not use Microsoft or related logos, branding, or visual assets in your plugin
icon, banner, or screenshots on WordPress.org. Use your own branding and neutral
visuals.

Third-party services

This plugin connects to external services only when required for email delivery 
or authentication. It does not send general site traffic or unrelated data to third
parties.

Microsoft identity platform (OAuth2) — login.microsoftonline.com

What it is
 This is Microsoft’s OAuth2 authentication service (also known as the
Microsoft Identity Platform or Entra ID). It is used when you connect your account
using OAuth.

What it is used for

Signing in through Microsoft
 Exchanging authorization codes for access and refresh
tokens Refreshing expired access tokens

What data is sent and when

During login (via browser): client ID, redirect URI, requested scopes (such as Mail.
Send, User.Read), and a state parameter for security
 During token exchange (server-
side): authorization code, client ID, client secret, redirect URI, grant type, and
scopes

Terms
 https://www.microsoft.com/servicesagreement

Privacy
 https://privacy.microsoft.com/privacystatement

Microsoft Graph API — graph.microsoft.com

What it is
 Microsoft’s API for accessing Microsoft 365 services, including sending
emails.

What it is used for
 Sending emails through the Graph API (/v1.0/me/sendMail).

What data is sent and when
 When an email is sent (including test emails), the plugin
makes a secure HTTPS request that includes:

An OAuth access token
 Email details such as recipients, subject, message body, 
and optional Cc/Bcc/Reply-To Attachments or inline images (within API limits)

Terms
 https://www.microsoft.com/servicesagreement

Privacy
 https://privacy.microsoft.com/privacystatement

Note: Use of Microsoft APIs is also subject to Microsoft’s developer and product
terms. Refer to https://www.microsoft.com/legal/
 for details.

User-configured SMTP server

What it is
 An SMTP server that you configure (for example, your hosting provider,
Microsoft 365, Google Workspace, or another email service).

What it is used for
 Sending emails using your SMTP credentials.

What data is sent and when
 Whenever an email is sent (including test emails), the
plugin transmits:

SMTP credentials (if configured)
 Email content such as recipients, subject, and
message body

This plugin does not control or manage the infrastructure of your SMTP provider.

Terms and privacy
 You are responsible for reviewing the terms and privacy policy
of your email provider. This plugin does not replace or override those agreements.

## Captures

 * [[
 * [[
 * [[
 * [[
 * [[
 * [[
 * [[
 * [[
 * [[

## Instal·lació

 1. Upload the `vr-smtp-mailer` folder to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the “Plugins” menu in WordPress.
 3. Go to **VR SMTP Mailer  Settings** to configure:
 4.  * Choose provider (SMTP or Graph OAuth mail).
     * Enter SMTP host, username, password, and port, or tenant ID, client ID, and 
       client secret for OAuth.
     * Set From Email and From Name.
     * Enable Debug Mode if desired.
 5. For Graph OAuth mail:
 6.  * Save settings, then click **Sign in to connect** and complete the OAuth consent.
     * Add the **Authorization Redirect URI** shown on the settings page to your cloud
       identity app registration (for example `https://yoursite.com/vr-smtp-mailer-
       oauth`). Legacy paths `/vr-smtp-oauth` and `/m365-mailer-oauth` still work if
       you registered those URLs earlier.
 7. Use **VR SMTP Mailer  Test Email** to verify sending.
 8. Use **VR SMTP Mailer  SMTP Tester** to verify SMTP connectivity.

## PMF

### Does this plugin replace the default `wp_mail` behavior?

Yes. Emails are queued and delivered via the configured provider (SMTP or Graph 
OAuth mail) using WP-Cron.

### Does it require WP-Cron to be enabled?

Yes. The queue worker runs on a custom five-minute cron schedule.

### Why does the readme list “vinodkram” under Contributors?

WordPress.org uses contributor **profile usernames** (slugs), not display names.
List your WordPress.org username exactly as it appears in your profile URL (`https://
profiles.wordpress.org/username/`).

### What should Plugin URI and Author URI use?

For this plugin, **Plugin URI** is the WordPress.org directory page: `https://wordpress.
org/plugins/vr-smtp-mailer/` (slug **`vr-smtp-mailer`**, same as the **Text Domain**
and the plugin directory name). **Author URI** is `https://profiles.wordpress.org/
vinodkram/`. If your approved slug on WordPress.org ever differs, update the Plugin
URI in the main PHP file header to match `https://wordpress.org/plugins/{your-slug}/`.
Avoid URLs that could be mistaken for an official vendor or Microsoft property.

### What about banners and icons?

Do not use Microsoft, Windows, Office, Azure, or other vendors’ logos, trademarks,
or trade dress in your WordPress.org banner, icon, or screenshots. Use your own 
branding and neutral artwork.

## Ressenyes

No hi ha ressenyes per a aquesta extensió.

## Col·laboradors i desenvolupadors

«VR SMTP Mailer» és programari de codi obert. La següent gent ha col·laborat en 
aquesta extensió.

Col·laboradors

 *   [ Vinod Ram ](https://profiles.wordpress.org/vinodkram/)

[Traduïu «VR SMTP Mailer» a la vostra llengua.](https://translate.wordpress.org/projects/wp-plugins/vr-smtp-mailer)

### Interessats en el desenvolupament?

[Navegueu pel codi](https://plugins.trac.wordpress.org/browser/vr-smtp-mailer/),
baixeu-vos el [repositori SVN](https://plugins.svn.wordpress.org/vr-smtp-mailer/),
o subscriviu-vos al [registre de desenvolupament](https://plugins.trac.wordpress.org/log/vr-smtp-mailer/)
per [fisl de subscripció RSS](https://plugins.trac.wordpress.org/log/vr-smtp-mailer/?limit=100&mode=stop_on_copy&format=rss).

## Registre de canvis

#### 1.0.10

 * **WordPress.org slug:** Public plugin slug and directory name **`vr-smtp-mailer`**.
   Text domain **`vr-smtp-mailer`**; PHP prefix **`VR_SMTP_MAILER_`** and option/
   hook prefix **`vr_smtp_mailer_`**; admin screen and asset handles use the **`
   vr-smtp-mailer-\*`** pattern.
 * **OAuth redirect:** Canonical path **`/vr-smtp-mailer-oauth`**; **`/vr-smtp-oauth`**
   and **`/m365-mailer-oauth`** remain supported for existing app registrations.
 * **Migration:** On upgrade, copies options and renames custom tables from prior`
   vr_smtp_*` keys/names when needed; clears legacy `vr_smtp_process_queue` cron
   in favor of **`vr_smtp_mailer_process_queue`**.
 * **Bootstrap file:** Main plugin file is **`vr-smtp-mailer.php`**.

#### 1.0.9

 * **wp_mail-style delivery:** Mailers now receive full `pre_wp_mail` arguments—
   headers (From, Cc, Bcc, Reply-To, Content-Type, custom headers on SMTP), attachments,
   and embeds—so immediate sends align much more closely with core `wp_mail()`. 
   SMTP path runs `phpmailer_init` and standard `wp_mail_*` filters.
 * **Graph sendMail:** Maps To/Cc/Bcc/Reply-To, HTML vs plain text, attachments,
   and inline embeds (per-file size limit for base64 payload); documents Graph vs
   SMTP differences in the readme.
 * **OAuth:** Admin-only (`manage_options`) token exchange on both the admin callback
   and the pretty redirect URL; non-admins are redirected back to settings with 
   an error.
 * **Readme:** Expanded Description—`wp_mail` parity, Graph limits, queue storage
   limits, credential storage disclosure.

#### 1.0.8

 * Requires WordPress **6.2+** for `%i` identifier placeholders in `$wpdb->prepare()`(
   debug log queries). Database calls use prepared statements without raw `$sql`
   variables.

#### 1.0.7

 * **Text Domain** and all `__()` / `esc_html__()` calls use **`vr-smtp`** to match
   the WordPress.org plugin directory slug. `VR_SMTP_PLUGIN_SLUG` is **`vr-smtp`**.
   OAuth redirect URI is **`/vr-smtp-oauth`**; **`/vr-smtp-mailer-oauth`** and **`/
   m365-mailer-oauth`** remain supported for existing Azure app registrations.

#### 1.0.6

 * Restored **Text Domain** and `VR_SMTP_PLUGIN_SLUG` to **`vr-smtp-mailer`**. Canonical
   OAuth redirect path is `/vr-smtp-mailer-oauth`; `/vr-smtp-oauth` and `/m365-mailer-
   oauth` remain supported for existing app registrations. For WordPress.org, the
   plugin directory name must match the text domain (use the `vr-smtp-mailer` folder).

#### 1.0.5

 * Text domain and `VR_SMTP_PLUGIN_SLUG` aligned with the plugin directory slug `
   vr-smtp` (WordPress.org requirement). OAuth redirect URI is `/vr-smtp-oauth`;`/
   vr-smtp-mailer-oauth` and `/m365-mailer-oauth` remain supported for existing 
   app registrations.

#### 1.0.4

 * Readme: documented third-party and external services (Microsoft identity OAuth,
   Microsoft Graph, user-configured SMTP); what data is sent and when; links to 
   terms and privacy policies.

#### 1.0.3

 * Readme: contributor field uses WordPress.org username; Plugin URI / Author URI
   point to WordPress.org; tags and marketing copy reduced unnecessary trademark
   use; clearer disclaimer and asset guidance.
 * Admin: “Authorize Microsoft” replaced with neutral “Sign in to connect”; Graph
   section labels softened while keeping technical behavior unchanged.

#### 1.0.2

 * Text domain `vr-smtp-mailer` (matches plugin slug). All `__()`, `_e()`, `esc_html__()`,
   and related calls updated; `load_plugin_textdomain()` loads translations from`/
   languages`.
 * Plugin directory slug is `vr-smtp-mailer` (was `vr-smtp`). OAuth redirect URI
   is `/vr-smtp-mailer-oauth`; `/vr-smtp-oauth` and `/m365-mailer-oauth` remain 
   supported for existing Azure app registrations.

#### 1.0.1

 * Renamed plugin to VR SMTP (directory `vr-smtp`, text domain `vr-smtp`). Migration
   preserves settings and renames database tables from the previous release.
 * OAuth callback accepts the legacy `/m365-mailer-oauth` path for existing Azure
   redirect URIs.

#### 1.0.0

 * Initial release.

## Meta

 *  Versió **1.0.10**
 *  Darrera actualització **fa 22 hores**
 *  Instal·lacions actives **Menys de 10**
 *  Versió del WordPress ** 6.2 o posterior **
 *  Provada fins a **6.9.4**
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/vr-smtp-mailer/)
 * Etiquetes
 * [Microsoft 365](https://ca.wordpress.org/plugins/tags/microsoft-365/)[oauth](https://ca.wordpress.org/plugins/tags/oauth/)
   [Office365](https://ca.wordpress.org/plugins/tags/office365/)[outlook smtp](https://ca.wordpress.org/plugins/tags/outlook-smtp/)
   [wordpress smtp](https://ca.wordpress.org/plugins/tags/wordpress-smtp/)
 *  [Vista avançada](https://ca.wordpress.org/plugins/vr-smtp-mailer/advanced/)

## Valoracions

Encara no s'ha enviat cap ressenya.

[Your review](https://wordpress.org/support/plugin/vr-smtp-mailer/reviews/#new-post)

[Visualitzeu totes les ressenyes](https://wordpress.org/support/plugin/vr-smtp-mailer/reviews/)

## Col·laboradors

 *   [ Vinod Ram ](https://profiles.wordpress.org/vinodkram/)

## Suport

Teniu quelcom a dir? Necessiteu ajuda?

 [Visualitza els fòrums de suport](https://wordpress.org/support/plugin/vr-smtp-mailer/)