This post might be a bit of bear. I write it mainly for myself as a point of reference but perhaps it can help others.
In our case, we had recently acquired a new company that used Google G-Suite / GMail. While we waited to migrate them over we setup Mail Enabled User Objects (without Mailboxes) on Office 365 as Stubs. These stubs provided GAL entries for these employees and leveraging the “targetAddress” attribute forwards all emails to those users mailboxes on G-Suite (a different email domain).
For the most part this worked well. We get Calendar Free / Busy from the objects as well email forwarding worked. Except sometimes Calendar Invites did not have accept or reject buttons.
We finally got to the bottom of this… has everything to do with two factors (both are really the same but worth going through the motions)
- TNEFEnabled Flagging must be set to $False ($null isnt good enough) in PowerShell
- “Use Rich-Text Format” Set to “Never” in the ECP/Mail Flow/Remote Domains/<domain>
Connect to Microsoft Exchange Online PowerShell Module then run this:
Get-RemoteDomain | select Name, TNEFEnabled
If you dont have the GMail / GSuite domain listed add it with new-remotedomain:
New-RemoteDomain -Name <Name of External Domain> -DomainName domain.com
Then run this command:
Set-RemoteDomain -Identity -TNEFEnabled $false
Next up we want to validate things with RTF
- Goto the ECP: https://outlook.office.com/ecp
- Navigate to Mail flow on the Left
- Navigate to Remote Domain on the top
- Find the domain in question
- Ensure “Use rich-text format:” is set to “Never”
That should be it, within 30 minutes or so to have setting sync to all exchange servers it should be working once more.
What I think I understand better now is the MS KB Docs are incorrect, $null on TNEFEnabled means to default to user defaults. You must use $False to force the corrective action.