Direct Message Injection (DMI) places simulation messages straight into a Microsoft 365 mailbox through the Microsoft Graph API instead of sending them over SMTP. Because the message never travels the inbound mail path, it is not touched by spam filtering, antivirus scanning or transport rules, so a simulation reaches the inbox exactly as it was designed.
Use DMI when allow-listing the Cyberdise sending infrastructure in Exchange Online is impractical, or when transport rules keep rewriting or quarantining simulations.
What you need
- A Microsoft Entra ID (Azure AD) tenant holding the target mailboxes.
- Permission to register an application and to grant admin consent.
- Mailboxes hosted in Exchange Online. On-premises mailboxes cannot be injected into —
use SMTP delivery for those.
1. Register the application in Entra ID
- In the Microsoft Entra admin center open App registrations → New registration.
- Give it a name, for example
Cyberdise DMI, and register it. - Note the Application (client) ID and the Directory (tenant) ID.
2. Grant the Graph permission
- Open API permissions → Add a permission → Microsoft Graph → Application permissions.
- Select Mail.ReadWrite.
- Select Grant admin consent. The permission must show *Granted* before DMI will work.
Restrict the scope.
Mail.ReadWriteas an application permission grants access to every mailbox in the tenant. Microsoft's application access policies let you limit the app to a single mail-enabled security group. Create a group containing only the users in scope for awareness campaigns and bind the application to it before you enable DMI in production.
3. Create a client secret
Open Certificates & secrets → New client secret, copy the *value* immediately — it is shown only once — and record its expiry date so you can rotate it in time.
4. Add the application to Cyberdise
- Go to Advanced → Settings → Integrations → Azure Apps.
- Select Add Azure App and fill in Name, Client Id, Client Secret and Tenant Id.
- Save.
5. Switch a module to Direct Message Injection
DMI is chosen per module, so you can mix it with ordinary sending inside one campaign.
- Open the campaign, go to Modules and edit the module.
- On the Details tab set Email Delivery Method to Direct Message Injection (Microsoft 365).
- Save.
The other delivery methods remain available on the same dropdown:
| Method | Route |
|---|---|
| Internal Server | The mail server built into Cyberdise |
| External SMTP Server | An SMTP server you configure |
| Direct Message Injection (Microsoft 365) | Microsoft Graph, straight into the mailbox |
What to expect
- Messages appear in the recipient's Inbox, not in Drafts.
- Spam filtering, antivirus and transport rules are bypassed.
- Delivery failures are written to the message log of the campaign
(Schedule → Display Message Log).
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Every message fails to inject | Admin consent missing | Re-check that Mail.ReadWrite shows *Granted* |
| Injection works for some users only | Application access policy too narrow | Add the users to the mail-enabled security group bound to the app |
| Authentication errors after months of use | Client secret expired | Create a new secret and update it under Settings → Integrations → Azure Apps |
Comments
0 comments
Article is closed for comments.