I’ve been managing Exchange environments for a while now—on-prem, hybrid, and the occasional cloud-only setup. One thing that never changes? The need to properly route mail for external users. Whether it’s a contractor who needs access or a partner who just wants to show up in the address book, mail users and mail contacts are your go-to tools.
Here’s how I typically set them up, along with a few quirks I’ve run into.
Why I Use Mail Users and Mail Contacts
Not gonna lie—I used to avoid mail users altogether. Felt like overkill for someone who wasn’t getting a full mailbox. But once I started working with hybrid setups, especially during migrations, they became essential. Mail contacts, on the other hand, are my default for external folks who just need to be discoverable in the GAL.
Step-by-Step: What I Actually Do
Creating a Mail User
- Log into EAC: I usually hit the Exchange Admin Center via Chrome. Edge sometimes throws odd rendering issues—could be my extensions.
- Go to Recipients > Mailboxes: This is where you’ll find the “+” icon. Click it and choose “Mail user.”
- Fill in the basics: Display name, alias, external email. I always double-check the alias—typos here can mess with mail flow.
- Set a password: I generate a temp password using KeePassXC. Never reuse old ones.
- Configure settings: I usually skip mailbox features unless I’m prepping for a migration. Contact info and org details help with GAL visibility.
Once done, hit “Save.” If it spins for more than 10 seconds, I refresh—EAC can be moody.
Creating a Mail Contact
- Same login flow: EAC > Recipients > Contacts.
- Click “+” and select Mail Contact.
- Fill in the details: Again, alias and external email are key. I’ve had cases where a missing alias caused address book sync issues.
- Save and verify: I always test by sending a quick email from Outlook. If it bounces, I check for hidden whitespace in the email field—yes, that’s a thing.
Gotchas and Weird Behavior
- EAC sometimes caches aggressively: I’ve had to clear browser cache or switch browsers just to see newly added contacts.
- PowerShell quirks: If you’re using
New-MailUserorNew-MailContact, make sure your session is connected to the right tenant. I once spent 30 minutes debugging a failed script—turned out I was connected to the wrong Exchange Online instance. - GAL sync delays: Especially in hybrid setups, new contacts can take a while to show up. I usually give it 30–60 minutes before panicking.
Lessons Learned
- Always test with a real email: Don’t assume it works just because EAC says “Success.”
- Use PowerShell for bulk ops: For onboarding 20+ external users, scripting is the way to go. I’ve built CSV-based import scripts that save hours.
- Document everything: I keep a OneNote page with screenshots and command history. Helps when someone asks, “How did you set that up again?”
Final Thoughts
Setting up mail users and contacts isn’t rocket science, but it’s easy to mess up if you rush. I’ve learned to slow down, double-check fields, and always test mail flow. It’s saved me from a few embarrassing support tickets.
Ever had a mail contact mysteriously vanish from the GAL? Or found a better way to bulk-create users without relying on EAC? Drop your tips—I’m always looking to refine my workflow.