Key takeaway: "Contacts and distribution lists" covers five distinct recipient types in Exchange Online: mail contacts, mail users, distribution groups, dynamic distribution groups, Microsoft 365 groups, and mail-enabled security groups. Choosing the wrong type is the most common reason a list does not receive mail from outsiders, cannot be managed, or turns into a security problem. This guide explains each type, when to use it, how to create and restrict it, how groups interact with licensing, moderation, and external senders, how to hide and audit them, and how to use groups for access control.

An address book looks simple until you need to answer: should this list accept mail from outside? who owns it? how does a new starter get on it? can it contain people from other tenants? will it show up in the address book? The answers depend on the recipient type.

The Recipient Types

TypeWhat it isHas a mailbox?Typical use
Mail contactAn external email address shown in your address bookNoPartners, suppliers, customers you email often
Mail userAn external address with a sign-in in your tenantNoA person with an outside address who signs in (for example, a contractor)
Distribution groupA fixed list that expands to membersNoAnnouncements to a known set of people
Dynamic distribution groupA list built at send time from attributesNo"Everyone in Sales", "All US staff"
Microsoft 365 groupA collaboration group: mailbox, calendar, files, TeamsYes (group mailbox)A project team that needs shared work
Mail-enabled security groupA security group that also receives mailNoPermissions plus email to the same people
Shared mailboxA mailbox many people shareYesSee shared mailboxes

Personal contacts (the *People* section of Outlook) are separate: they belong to one mailbox and follow the user across devices. Organization-wide address book entries come from the Global Address List (GAL), which includes users, groups, shared mailboxes, rooms, and mail contacts.

Which to Use

NeedUse
Email a fixed set of peopleDistribution group
Membership should follow department, title, or locationDynamic distribution group
People collaborate: files, calendar, conversations, TeamsMicrosoft 365 group (or a Team)
Control access to a resource and also email the membersMail-enabled security group
Answer from a single shared addressShared mailbox
Make an outside person appear in the address bookMail contact
Give an outside person sign-in rightsGuest user (Entra B2B), not a contact
Receive mail at one address and deliver to several mailboxesDistribution group, or a shared mailbox with forwarding

Rule of thumb: a *distribution list* sends mail to people, a *Microsoft 365 group* gives people a place to work, and a *security group* gives people permission.

Mail Contacts and Mail Users

A mail contact has an external address and appears in the GAL, so users can find and select it.

New-MailContact -Name "Alex Partner" -ExternalEmailAddress alex@partner.com -DisplayName "Alex Partner (Partner Co)" Set-MailContact "Alex Partner" -HiddenFromAddressListsEnabled $false Get-MailContact | Format-Table DisplayName, ExternalEmailAddress, HiddenFromAddressListsEnabled

Use contacts to:

Keep contacts tidy. Stale contacts clutter the GAL and lead to mail going to the wrong person. Name them with the company, for example Alex Partner (Partner Co).

Mail users are different: they have an external address and a sign-in in your tenant. Create them when a person outside your company must sign in to your resources but has no mailbox with you. Often a guest user is a better fit.

Bulk import contacts:

Import-Csv .\contacts.csv | ForEach-Object { New-MailContact -Name $_.Name -ExternalEmailAddress $_.Email -DisplayName $_.Name }

Distribution Groups

# Create New-DistributionGroup -Name "Team Leaders" -Alias team-leaders -PrimarySmtpAddress team-leaders@contoso.com ` -Type Distribution -Members jsmith@contoso.com, asmith@contoso.com ` -ManagedBy jsmith@contoso.com # Only internal senders may send Set-DistributionGroup -Identity "Team Leaders" -RequireSenderAuthenticationEnabled $true # Allow only named senders Set-DistributionGroup -Identity "Team Leaders" -AcceptMessagesOnlyFromSendersOrMembers "jsmith@contoso.com" # Add and remove members Add-DistributionGroupMember -Identity "Team Leaders" -Member bjones@contoso.com Remove-DistributionGroupMember -Identity "Team Leaders" -Member bjones@contoso.com -Confirm:$false Get-DistributionGroupMember -Identity "Team Leaders" | Format-Table DisplayName, PrimarySmtpAddress

Settings that matter:

Dynamic Distribution Groups

Dynamic groups compute their membership from attributes each time mail is sent, so they never need manual updates.

New-DynamicDistributionGroup -Name "Field Engineers" -Alias field-engineers ` -RecipientFilter "(Department -eq 'Field Engineering') -and (RecipientTypeDetails -eq 'UserMailbox')" # Preview who is in it $g = Get-DynamicDistributionGroup "Field Engineers" Get-Recipient -RecipientPreviewFilter $g.RecipientFilter | Format-Table Name, PrimarySmtpAddress

Notes:

Microsoft 365 Groups

A Microsoft 365 group (also called a unified group) gives a team a shared mailbox, calendar, a SharePoint site, a Planner, and optionally a Team. It is the building block for collaboration in Microsoft 365.

New-UnifiedGroup -DisplayName "Project Phoenix" -Alias project-phoenix -AccessType Private ` -Owners jsmith@contoso.com -Members jsmith@contoso.com, asmith@contoso.com Set-UnifiedGroup -Identity project-phoenix -UnifiedGroupWelcomeMessageEnabled:$false -HiddenFromExchangeClientsEnabled:$false Get-UnifiedGroupLinks -Identity project-phoenix -LinkType Members

Points to know:

A Microsoft 365 group's mailbox keeps a copy of messages sent to the group so members can view the conversation history, which suits project discussion better than a plain distribution list.

Mail-Enabled Security Groups and Access Control

A mail-enabled security group is a security group with an email address. Use it when you want to grant permissions (for example Full Access to a mailbox, or access to a SharePoint site) and also email the same people.

New-DistributionGroup -Name "SM-Support-Members" -Type Security -Members asmith@contoso.com, bjones@contoso.com

Things to know:

External Senders, Moderation, and Spam

Set-DistributionGroup -Identity "All Staff" -ModerationEnabled $true -ModeratedBy "hr@contoso.com" ` -BypassModerationFromSendersOrMembers "ceo@contoso.com"

Hiding and Naming

Hide groups that should not appear in the address book, for example a group used for mailbox permissions:

Set-DistributionGroup -Identity "SM-Support-Members" -HiddenFromAddressListsEnabled $true

Hidden groups still receive mail and still work for permissions. Use clear names: DL-AllStaff, DL-Sales, SG-Support-Access, M365-Project-Phoenix. A good convention saves hours when you are cleaning up later.

Address Lists and Offline Address Book

Lifecycle: Joiners, Movers, Leavers

Groups drift unless you tie them to HR events.

Get-DistributionGroup -ResultSize Unlimited | Where-Object { -not $_.ManagedBy } | Select DisplayName, PrimarySmtpAddress Get-UnifiedGroup -ResultSize Unlimited | Where-Object { -not $_.ManagedBy } | Select DisplayName Get-DistributionGroup -ResultSize Unlimited | Where-Object { $_.RequireSenderAuthenticationEnabled -eq $false } | Select DisplayName

Migrating and Syncing Groups

How to Check It Worked

Troubleshooting

SymptomLikely cause
Outsiders get "delivery failed" sending to a listRequireSenderAuthenticationEnabled is true
A member does not receive group mailMembership change not synced, mailbox rules, or mail sent from a blocked address
Dynamic group has the wrong peopleDirectory attributes are wrong or the filter is too broad
New contact not visible in OutlookOffline address book not yet refreshed
Cannot edit a groupIt is synced from on-premises AD
Reply-all stormLarge group open to all senders. Restrict senders and rely on storm protection
Cannot use a group to grant permissionsIt is a plain distribution group, not a security group
Group disappearedExpiration policy or an owner deleted it. Check the deleted groups and restore within the window

A Short Decision Guide

Related guides: shared mailboxes, delegate access, and Exchange Online protection.

Cmdlet parameters, group limits, and Microsoft 365 group behavior change over time, and I have not run these commands in your tenant. Test with a pilot group and check Microsoft's current documentation. If you want help cleaning up groups and address lists, get in touch.

Exchange Online Distribution Groups Microsoft 365 Groups Address Book PowerShell