Managing email address policies in Exchange Server 2019

Let’s be honest—email address policies in Exchange Server 2019 aren’t exactly thrilling. But if you’ve ever had to clean up a messy address schema across hundreds of mailboxes, you know how critical they are. I’ve been through that cleanup more than once, and trust me, it’s not something you want to wing.

Why I Started Using Email Address Policies

Back when I migrated a mid-sized org to Exchange 2019, we had a Frankenstein mix of email formats: some users had first.last@domain.com, others had initials, and a few had legacy aliases from the 2007 era. It was chaos. I needed a way to standardize addresses without manually editing each mailbox—and that’s where email address policies came in.

My Setup and Walkthrough

I usually work on a Hyper-V lab running Exchange 2019 CU13, with 32GB RAM and a couple of test domains. Here’s how I typically configure email address policies:

  • Accessing the EAC: I start with the Exchange Admin Center. It’s not flashy, but it gets the job done. Head to Mail Flow > Email Address Policies.
  • Creating a New Policy: Click the plus icon. I name policies based on department or region—like “Sales-India-Policy”—just to keep things tidy.
  • Address Format: I prefer using %g.%s@domain.com for most users. It’s clean and predictable. If you’re dealing with duplicate names, consider adding %i or %m to avoid collisions.
  • Recipient Filters: This part can be tricky. I’ve had filters accidentally exclude users because of a missing OU or group membership. Always double-check your conditions.
  • Priority Settings: If you’ve got multiple policies, set the priority carefully. I once had a lower-priority policy override a higher one because I forgot to reapply it after a change.
  • Applying the Policy: You can apply it immediately or schedule it. I usually run it off-hours using PowerShell—less risk of interrupting mailbox access.

Gotchas and Weird Behavior

Not gonna lie, the first time I applied a policy, I expected instant results. Nope. The changes didn’t reflect until I manually triggered the update via PowerShell. The GUI doesn’t always show you what’s happening under the hood.

Also, if you’re using custom SMTP templates, brace yourself. The variable syntax (%g, %s, %rxy, etc.) is powerful but unforgiving. One misplaced character and you’ll end up with addresses like ..@domain.com. Been there.

You can use the variables listed in the following table to specify values for the local part of the email address.

VariableValue
%dDisplay Name
%gGiven Name (First Name)
%iMiddle initial
%mExchange Alias
%rxyReplace all occurrences of X with Y
%rxxRemove all occurrences of X
%sSurname (last name)
%ngThe first n letters of the first name. For example, %2g uses the first two letters of the first name.
%nsThe first n letters of the last name. For example, %2s uses the first two letters of the last name.

Lessons Learned

  • Always test your policy on a small group first. I use a “TestPolicy” applied to a dummy OU.
  • Document your templates and filters. Six months later, you won’t remember why you used %2g.%2s.
  • Use PowerShell for bulk updates. The EAC is fine for setup, but PowerShell gives you control.

Final Thoughts

Managing email address policies isn’t glamorous, but it’s one of those things that quietly keeps your environment sane. Once you’ve got a solid naming convention and a few reusable templates, it’s mostly set-and-forget—until someone changes their name or moves departments, of course.

Ever had a policy misfire and rename half your mailboxes? Or found a better way to handle aliases across hybrid setups? Drop a comment or share your war stories—I’d love to hear how others are handling this.

 
Download the PowerShell cmdlets used on the video from below.

PShivkumar

About the author: PShivkumar

With over 12 years of experience in IT and multiple certifications from Microsoft, our creator brings deep expertise in Exchange Server, Exchange Online, Windows OS, Teams, SharePoint, and virtualization. Scenario‑first guidance shaped by real incidents and recoveries Clear, actionable breakdowns of complex Microsoft ecosystems Focus on practicality, reliability, and repeatable workflows Whether supporting Microsoft technologies—server, client, or cloud—his work blends precision with creativity, making complex concepts accessible, practical, and engaging for professionals across the IT spectrum.

View all posts →

Comments

📝 Leave a Comment