Someone goes on leave and forgets to set their Out of Office, or they’re off sick and can’t get to a computer, and now their clients are emailing into silence. As an admin you don’t need their password and you don’t need to sit at their desk. Automatic replies live on the mailbox itself, so anyone with Exchange admin rights can turn them on for any mailbox in the tenant.
This guide covers both ways to do it: the Exchange admin center for a quick one-off, and Set-MailboxAutoReplyConfiguration in PowerShell for scheduling, scripting, or doing it in bulk. It also covers the two things that trip people up — the difference between internal and external replies, and why an external reply sometimes refuses to send even when you’ve configured it correctly.
Two ways to set it, and when to use each
There are two reliable admin methods. Both set the same underlying mailbox property; they just differ in convenience.
Exchange admin center vs PowerShell
| Best for | EAC: a quick single mailbox / PowerShell: scheduling, bulk, scripting |
|---|---|
| Scheduling | EAC: yes, via date pickers / PowerShell: yes, with StartTime/EndTime |
| Bulk changes | EAC: one at a time / PowerShell: loop over many mailboxes |
| Audit trail | EAC: manual / PowerShell: easy to log and repeat |
For a single person who’s already out, the admin center is fastest. If you regularly set replies for a team, manage a date range in advance, or want a repeatable command, PowerShell wins.
Method 1: the Exchange admin center
This is the click-through approach and it doesn’t require touching PowerShell.
- Go to the Exchange admin center (admin.exchange.microsoft.com).
- Open Recipients → Mailboxes and select the target user.
- In the mailbox flyout, open the Others (or Mailbox settings) section and find Automatic replies.
- Turn automatic replies On.
- Optionally set a start and end time so the replies switch off on their own.
- Type the message senders inside your organization should get, and the message external senders should get.
- Choose whether external replies go to everyone or only to known contacts, then Save.
That’s the whole task. The reply is now active on the mailbox regardless of which client the user opens, because it’s enforced server-side.
Method 2: PowerShell with Set-MailboxAutoReplyConfiguration
PowerShell is the better tool the moment you want to schedule a reply, set several mailboxes, or keep a repeatable record. First connect to Exchange Online:
# Install once: Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName [email protected]
Check what’s set now
Before changing anything, read the current configuration. This shows whether replies are already on and what the messages say.
Get-MailboxAutoReplyConfiguration -Identity "[email protected]" |
Format-List AutoReplyState, StartTime, EndTime, ExternalAudience, InternalMessage, ExternalMessage
Turn on a reply that stays on until you disable it
Use AutoReplyState Enabled when you want the reply active immediately with no end date — for example, someone off sick indefinitely.
Set-MailboxAutoReplyConfiguration -Identity "[email protected]" `
-AutoReplyState Enabled `
-InternalMessage "I'm currently out of the office. For anything urgent, please contact the support team at [email protected]." `
-ExternalMessage "Thank you for your email. I'm currently away. Please contact [email protected] for assistance." `
-ExternalAudience All
Schedule a reply for a date range
Use AutoReplyState Scheduled with StartTime and EndTime and Exchange handles switching the reply on and off for you. This is the right choice for planned leave.
Set-MailboxAutoReplyConfiguration -Identity "[email protected]" `
-AutoReplyState Scheduled `
-StartTime "2026-11-10 08:00:00" `
-EndTime "2026-11-17 17:00:00" `
-InternalMessage "On leave 10-17 Nov. For urgent issues contact your team lead." `
-ExternalMessage "I'm out of the office until 17 November and will reply on my return." `
-ExternalAudience All
Turn the reply off
Set-MailboxAutoReplyConfiguration -Identity "[email protected]" -AutoReplyState Disabled
Internal vs external replies, and the ExternalAudience switch
Exchange sends two different messages depending on where the sender sits.
- InternalMessage goes to senders inside your organization.
- ExternalMessage goes to senders outside it.
The ExternalAudience parameter controls who outside the org gets a reply at all:
ExternalAudience values
| None | No external senders get an automatic reply at all |
|---|---|
| Known | Only external senders who are in the user's Contacts get the reply |
| All | Every external sender gets the external message |
Splitting the two messages is useful. Internally you can name a covering colleague and an internal contact; externally you usually want something shorter that doesn’t leak internal names or process. Setting ExternalAudience to Known is a common middle ground — partners and existing contacts get a reply, but random or spam senders don’t, which avoids confirming the address is live.
Doing it for several mailboxes at once
When a whole team is off — a holiday shutdown, say — PowerShell lets you set them all in one pass. Put the addresses in a list and loop.
$mailboxes = "[email protected]","[email protected]","[email protected]"
foreach ($mbx in $mailboxes) {
Set-MailboxAutoReplyConfiguration -Identity $mbx `
-AutoReplyState Scheduled `
-StartTime "2026-12-24 00:00:00" `
-EndTime "2027-01-02 09:00:00" `
-InternalMessage "Our office is closed for the holidays and reopens 2 January." `
-ExternalMessage "Thank you for your email. Our office is closed for the holidays and reopens 2 January." `
-ExternalAudience All
}
Before you set a reply for someone else
- Confirm you have Exchange admin rights over the mailbox
- Decide on Enabled (open-ended) vs Scheduled (date range)
- Convert start/end times to UTC if using PowerShell
- Write separate internal and external messages
- Pick the right ExternalAudience: None, Known, or All
- Verify with Get-MailboxAutoReplyConfiguration after saving
When the external reply won’t send
This is the most common complaint, and the mailbox setting is usually only half the story. External automatic replies depend on two layers both allowing it:
- The mailbox setting —
ExternalAudiencemust beAllorKnown, notNone. - The remote domain configuration — the organization’s remote domain settings control whether automatic replies are allowed to leave for external recipients at all. If that’s disabled, no mailbox setting will get an external reply out the door.
So if internal replies work but external ones never arrive, check the remote domain settings (the default remote domain has an AutoReplyEnabled setting). It’s a tenant-wide control that sits above the individual mailbox.
A second quieter rule: Exchange sends an automatic reply to a given external sender once per enabled period, not on every message. So a sender who emails three times during the leave gets one reply, not three. That’s by design and not a fault.
Verify it took effect
After setting a reply, read it back. Don’t assume it saved correctly, especially with scheduled times where a UTC mistake is easy.
Get-MailboxAutoReplyConfiguration -Identity "[email protected]" |
Format-List AutoReplyState, StartTime, EndTime, ExternalAudience
If you want to confirm a reply is actually going out, send a test message from an external address and watch for the response, or run a message trace in Exchange Online to see the auto-reply being generated. If a departing employee’s mailbox is being converted for a covering colleague, you may also want to combine this with email forwarding so their incoming mail reaches the right person while the reply explains the change.
Wrapping up
Setting automatic replies for someone else is a routine admin task once you know it lives on the mailbox, not behind the user’s login. Use the Exchange admin center for a quick single mailbox, and Set-MailboxAutoReplyConfiguration when you want to schedule a date range, script it, or set a whole team at once. Watch two things specifically: PowerShell times are UTC, and external replies need both the mailbox ExternalAudience and the remote domain settings to allow them. Read the config back with Get-MailboxAutoReplyConfiguration so you know it stuck.
For broader mailbox handling around someone leaving or covering a role, our guides on shared mailboxes and email forwarding cover the rest of the workflow.