Microsoft 365 tenant · Exchange Online, Defender for Office 365 & mail DNS

Set outbound sending limits and notify administrators of blocked senders

When it fails: Outbound spam policies use service default limits and nobody is notified when a sender is blocked. A compromised mailbox can send a large spam or phishing wave before it is stopped, and the security team may not notice the restriction.

CB-M365-MAIL-031mediumactivemanualprofile baseline

Description

Every outbound spam filter policy that applies to users has:

  • an external message limit of {{ external_limit_per_hour }} recipients per hour (RecipientLimitExternalPerHour);
  • an internal message limit of {{ internal_limit_per_hour }} recipients per hour (RecipientLimitInternalPerHour);
  • a daily limit of {{ daily_limit }} recipients (RecipientLimitPerDay);
  • Restrict the user from sending mail when a limit is reached (ActionWhenThresholdReached BlockUser), so an administrator must unblock the account;
  • notifications on: Notify these users and groups if a sender is blocked due to sending outbound spam (NotifyOutboundSpam) and Send a copy of suspicious outbound messages (BccSuspiciousOutboundMail), both to {{ outbound_alert_recipients }}.

Rationale

Sending a burst of messages is a typical sign of a compromised account used for spam or internal phishing. Explicit limits stop it earlier than the service defaults, BlockUser makes sure the account is reviewed before it can send again, and notifications bring the event to the security team even if alert policies are not watched.

Impact

Users who legitimately send to many recipients (newsletters, HR announcements) can hit the limits; use a dedicated policy with higher limits for those mailboxes, or a bulk mail service. Blocked users must be released from Restricted entities by an administrator.

Parameters

ParameterBaselineHardenedBounds
external_limit_per_hourinteger, recipients. Maximum external recipients per user per hour.5005001 to 10000
internal_limit_per_hourinteger, recipients. Maximum internal recipients per user per hour.100010001 to 10000
daily_limitinteger, recipients. Maximum recipients per user per day.100010001 to 10000
outbound_alert_recipientsstring. Who receives outbound spam notifications and copies.a monitored mailbox of the security operations teama monitored mailbox of the security operations team

The value used is your override (tailoring file), else the profile's, else the one of the profile it extends, else the default. Bounds limit what an override may set.

Audit

  1. Sign in to the Microsoft Defender portal (https://security.microsoft.com) as at least a Security Reader.
  2. Browse to Email & collaboration > Policies & rules > Threat policies > Anti-spam and open Anti-spam outbound policy (Default) and every custom outbound policy. Check Message limits, Restriction placed on users who reach the message limit and Notifications.
  3. In Exchange Online PowerShell (read-only):
    Get-HostedOutboundSpamFilterPolicy | Format-List Name, RecipientLimitExternalPerHour, RecipientLimitInternalPerHour,
      RecipientLimitPerDay, ActionWhenThresholdReached, NotifyOutboundSpam, NotifyOutboundSpamRecipients,
      BccSuspiciousOutboundMail, BccSuspiciousOutboundAdditionalRecipients
    
  4. Fail if a limit is 0 (service default) or higher than the parameter, if the action is not BlockUser, or if the notifications are off or have no recipient. Higher limits are acceptable only in a custom policy scoped to named mass senders.

Remediation

  1. In the Defender portal, open the outbound policy > Edit protection settings (Security Administrator), set the three limits and Restrict the user from sending mail, select both notification options with the recipients, and save.
  2. PowerShell equivalent:
    Set-HostedOutboundSpamFilterPolicy -Identity Default -RecipientLimitExternalPerHour 500 -RecipientLimitInternalPerHour 1000 `
      -RecipientLimitPerDay 1000 -ActionWhenThresholdReached BlockUser `
      -NotifyOutboundSpam $true -NotifyOutboundSpamRecipients [email protected] `
      -BccSuspiciousOutboundMail $true -BccSuspiciousOutboundAdditionalRecipients [email protected]
    

Rollback

Set the limits back to 0 and ActionWhenThresholdReached to BlockUserForToday.

References

Mappings

FrameworkIDRelation
NIST SP 800-53 Rev. 55.1.1SI-8related
NIST SP 800-53 Rev. 55.1.1SI-4related

How this control relates to the other framework's: equivalent, stricter, looser, partial or related.

Threats mitigated

  • related CB-M365-MAIL-001 Block automatic forwarding of mail to external recipients
  • related CB-M365-AUDIT-008 Turn on key Microsoft 365 alert policies and route them to a monitored destination

People and lifecycle

Authors
Introduced inv0.1.0
Created, updated2026-10-24, 2026-10-24
Translationsfr