Where does the default Teams email go?
When you first create a Microsoft Team it allocates an email address for the Team. That email address is built by the Display Name (with spaces and special characters removed) +@ the Office 365 Default Domain. This PrimarySMTPAddress can also be changed by the cmdlet Set-UnifiedGroup -PrimarySMTPAddress
But… if you send an email to this address, where does it go? Initially I thought I had read somewhete that it was delivered into the General Channel, but that is wrong, and any emails I sent never arrived. (This can still be done, scroll to bottom to see how)
Yes, we all should know by now that we can allocate an email address to a Teams Channel and beautiful things happen when you send emails to a Channel, but that isn’t my question.
Interestingly I raised this question with Microsoft and more surprisingly it took me a long time to get them to understand the question I was asking – and on more than one occasion was sent some nice links all about adding an email address to a Channel. Thanks but um…
Well, as much as I know in any event. A Microsoft Team is made up of:
- The Team wrapper (for want of a better word)
- A SharePoint Library
- Each Teams Channel is represented by a folder in the SharePoint site. Interesting issue here is that if you rename a Channel in Teams it does NOT rename the associated back-end SP folder. This is a bit of an issue for Teams migrations, and a blog for another day
- An Office 365 Unified Group
- The Owners and Members of this group are the Owners and Members of your Team
- A Shared Mailbox
- RecipientTypeDetails : GroupMailbox
- This is where Channel conversations are stored (User to User personal chat outside of a Team is saved in a hidden folder in your OWN mailbox “Conversation History\Teams Chat”)
- And this is where email sent to the default email address arrives
So where do I see this Shared Mailbox so I can read the emails? Well, there is no nice “open my Team shared mailbox” in the Teams client. And you can’t go an open the Teams shared mailbox in Outlook using the usual open shared mailbox methods, nor add it as an additional mailbox.
Office 365 Groups
Before Teams there was just “Office 365 Groups”. Office 365 Groups had all the above except for the nice Teams client overlay wrapper thingy. So you just viewed them in the Outlook Client where you could “like” messages and open files and OneNotes and other stuff – AND also where emails sent to the Group’s primary email address would be delivered.
Those emails could also be delivered to the Members Personal mailboxes – if you had configured it such.
You could even configure SendAs and Send on Behalf of the Office 365 Group.
Now, because the underlying building blocks of a Team are essentially an Office 365 Group / Shared Mailbox (Group Inbox) you can still receive email to the underlying Shared Mailbox, and subscribe members, plus apply SendAs / Send on Behalf of – BUT STILL, where can I see any emails sent to the default Microsoft Team email address.
If you subscribe the Members they see it, but I don’t want to HAVE to do this.
Outlooks Groups Navigator
Well, you should be able to see it in the Outlook Groups navigator, but you can’t…
I can see some Teams though, but none of the my
natively created Teams. In fact I can
only see Teams inside Outlook Groups that were previously Office 365
Groups before they were Teams! i.e. they got converted.
Even if you try Browse Groups from the Ribbon they are not there. So where are they? Turns out they are just hidden.
The answer is here: HiddenFromExchangeClientsEnabled
Natively created Teams have this attribute set to True, Office 365 Group have it set to False by default.
Get-UnifiedGroup -Identity Contoso-Client | FL DisplayName, PrimarySMTPAddress, HiddenFromExchangeClientsEnabled
- DisplayName : Contoso-Client
- PrimarySmtpAddress : Contoso-Client@neroblanco.co.uk
- HiddenFromExchangeClientsEnabled : True
So if I run:
Set-UnifiedGroup -Identity Contoso-Client -HiddenFromExchangeClientsEnabled:$False
The no spaces and colon dollar true “:$True” are intentional
NOW I can see it in Outlook Groups and I can see any email that has been sent there.
What does this all mean then?
Well, in the migration space that we are often operating in, there a few significant scenarios.
- One of the Teams migration tools we use actually builds out the Teams on the target by first creating an Office 365 Group, and then converting it. This would have the effect of making the Shared Mailbox / Group visible in Outlook. This may or may not be a desirable outcome
- Other vendors use the Graph API to build out the Team directly – but, if that Team in the source once WAS an Office 365 Unified Group that was converted, AND the members of that Team are using it functionally to receive emails in the Group Inbox (and using perhaps SendAs), then this would need to be captured pre-migration and preserved on the target
- Lastly, during the Domain portion cutover of a tenant to tenant migration, you have to fully remove all traces of the Domain in Source before you can take the Domain off one tenant and add it to another. Removing the PrimarySMTPAddresses for Teams is often forgotten until cutover day, and may not be remembered to repopulate on the target
For users that have been working with Office 365 Groups and Microsoft Teams for a while, they may be savvy enough to know and want this behaviour.
Maybe it’s actually still a useful feature to have a “normal” email address for a Team to be able to give out, rather than a Teams Channel email address that looks a bit like: email@example.com although you can make that more respectable with an MEU using the above address as a targetAddress.
Some other testing I also discovered that you can use the PowerShell command Set-MailboxAutoReplyConfiguration This is mightily useful for setting an autoresponder for whatever reason. Teams/Group Mailboxes accept very few *-mailbox command so I was pleasantly surprised this worked.
Set-MailboxAutoReplyConfiguration -Identity Contoso-Client@neroblanco.co.uk -AutoReplyState Enabled -InternalMessage "Internal auto-reply message." -ExternalMessage "External auto-reply message."
Have the default email delivered to the General (or any other) Channel
But probably the best solution is to Mail Enable the General Channel, (or create a dedicated channel for this purpose and mail enable it). Capture that address then put a forwarder on the GroupMailbox
Set-Mailbox -Identity "Contoso-Client" -GroupMailbox -ForwardingSmtpAddress "firstname.lastname@example.org"
Get-Mailbox Contoso-Client -GroupMailbox | FL *forward*
DeliverToMailboxAndForward : False
ForwardingSmtpAddress : smtp:email@example.com