Skip to main content
How-To Guides Last updated: 6 March 2026

How to Send Email Safely

Compose and send emails with dry-run preview, and understand the safety controls that prevent accidental sends.

Compose and send emails through your AI assistant with built-in safety controls: dry-run preview, rate limiting, and an optional recipient allowlist.

Preview Before Sending (Dry Run)

Always preview first to check the email looks right:

“Draft an email to sarah@company.com about the project update — don’t send it yet”

tool: send-email
params:
  to: "sarah@company.com"
  subject: "Project Alpha Update"
  body: "Hi Sarah,\n\nHere's the latest on Project Alpha..."
  dryRun: true

The dry run shows exactly what will be sent — recipients, subject, body — without actually sending. Review it, then ask your AI assistant to send.

Dry-run preview with send confirmation

Send an Email

“Send an email to sarah@company.com about the meeting tomorrow”

tool: send-email
params:
  to: "sarah@company.com"
  subject: "Meeting Tomorrow"
  body: "Hi Sarah,\n\nJust confirming our meeting tomorrow at 10am.\n\nCheers"

Because send-email is marked as destructive, your AI assistant will always ask for your confirmation before sending — even without dry run.

Send to Multiple Recipients

Use commas to separate addresses:

tool: send-email
params:
  to: "sarah@company.com, james@company.com"
  cc: "manager@company.com"
  subject: "Team Update"
  body: "Hi team,\n\n..."
FieldPurpose
toPrimary recipients
ccCarbon copy — visible to all
bccBlind carbon copy — hidden from other recipients

Set Email Importance

tool: send-email
params:
  to: "team@company.com"
  subject: "Urgent: Server outage"
  body: "..."
  importance: "high"

Options: normal (default), high, low.

Safety Controls

Confirmation Prompt

Every send triggers a confirmation prompt in your AI assistant. You must explicitly approve before the email leaves your outbox. This is enforced by the MCP destructiveHint annotation — it cannot be bypassed.

Rate Limiting

Set a per-session send limit to prevent runaway sends:

OUTLOOK_MAX_EMAILS_PER_SESSION=10

Add this to your MCP server environment variables. Once the limit is reached, further sends are blocked until the session restarts.

Recipient Allowlist

Restrict who your AI assistant can send to:

OUTLOOK_ALLOWED_RECIPIENTS=company.com,partner.org

With this set, emails can only be sent to addresses ending in @company.com or @partner.org. Sends to any other domain are blocked.

Safety configuration with allowed recipients and rate limiting

Save to Sent Items

By default, sent emails appear in your Sent Items folder. To suppress:

tool: send-email
params:
  to: "..."
  subject: "..."
  body: "..."
  saveToSentItems: false

Parameter Reference

ParameterWhat it doesDefault
toRecipient addresses (comma-separated)(required)
subjectEmail subject line(required)
bodyEmail body (plain text or HTML)(required)
ccCC addresses (comma-separated)
bccBCC addresses (comma-separated)
importancenormal, high, or lownormal
dryRunPreview without sendingfalse
saveToSentItemsSave to Sent Items foldertrue

Tips

  • Always use dryRun: true for important emails to review before sending
  • Set OUTLOOK_MAX_EMAILS_PER_SESSION to prevent accidental bulk sends
  • Use OUTLOOK_ALLOWED_RECIPIENTS in shared or automated environments
  • HTML is supported in the body — use it for formatted emails
Was this helpful?

Related Articles