Greater Atlanta's IT partner since 1989
What is stored
What AJC Graph Mailer sends to Microsoft 365, what it stores and logs, and wording for your privacy policy.
What this plugin sends and to whom, what it stores, and what to put in a privacy policy.
Your site's email, to your own Microsoft 365. Once a client secret is saved, every message WordPress sends goes to Microsoft Graph in the tenant you configured, instead of through PHP mail(). Until then the plugin leaves mail alone.
| Request | Sent to | What it carries |
|---|---|---|
| Sign in as the app | login.microsoftonline.com (.us for GCC High and DoD) |
Tenant ID, client ID and client secret |
| Send a message | graph.microsoft.com (graph.microsoft.us, dod-graph.microsoft.us) |
The whole message: From, To, Cc, Bcc, Reply-To, subject, body, attachments, importance and up to five X- headers |
| Attachments over 2.5 MB | Microsoft Graph, then the upload address Graph returns | The message as a draft, then the attachments in chunks |
| Test connection | Microsoft Graph | Reads the sending mailbox's name, addresses and type, and checks its Inbox |
Microsoft then handles that mail like any other message in your tenant. With Save to Sent Items on (off by default), a copy stays in the sending mailbox.
Nothing is sent to A&J Computers except update checks.
When WordPress checks for plugin updates, the plugin asks plugins.ajcomputers.com for its release manifest and that manifest's signature. It keeps the answer for six hours (30 minutes after a failure), and Check for updates asks straight away. The package itself is downloaded only when you install an update.
The requests go through WordPress's HTTP API, whose default user agent includes your site's address and WordPress version, so they appear with your server's IP address in that host's access logs. No settings, mail or usage data are sent. See privacy for our plugins.
Check for updates also runs WordPress's own update check, which contacts wordpress.org as WordPress always does.
One WordPress option, ajc_graph_mailer_settings, not autoloaded: tenant ID, client ID, client secret and its expiry date, sending mailbox, From address and name, the From and Sent Items switches, whether logging is on, the Microsoft cloud, and bookkeeping for the secret's encryption.
wp-config.php where possible. If the plugin had to generate one, it is stored in its own option, ajc_graph_mailer_fallback_key. See which key encrypts the secret.Microsoft's access token is cached in the ajc_graph_mailer_token transient for just under its lifetime, usually about 55 minutes. It is cleared when the credentials change, when Microsoft rejects it, and when the plugin is deactivated. It is not encrypted. Until it expires it can do whatever the app registration may do, which is why the setup guide scopes the app to one mailbox.
The last 50 events, newest first, in the ajc_graph_mailer_log option, while Log send failures is on (the default; turning it off stops all of the plugin's log entries). An entry can include:
Message bodies and headers are never logged, and the plugin doesn't write recipient addresses to the log itself. Values stored under names like secret, token or password are redacted first. Clear log empties it.
It adds nothing to the public site: no cookies, scripts or tracking. It keeps no data about your site's visitors, so it doesn't register with WordPress's personal data export and erase tools.
Deleting the plugin removes its settings (including the encrypted secret and any generated key), the log and its transients, on every site of a multisite network. An AJC_GRAPH_MAILER_KEY line in wp-config.php stays until you remove it. The app registration and its secret stay in Microsoft Entra; see uninstalling.
Email sent by this website, such as form notifications and account messages, is delivered through our Microsoft 365 service. Microsoft processes the message, including the recipient's address and anything you entered in the form, to deliver it.
Talk to the people who build and support it.