Getting proper meeting invitations in Thunderbird from Office 365
For a long time, after our office switched to Office 365 for email, I have had a seemingly strange issue, where most — but not all — meeting invitations contained just a link to an OWA (Outlook Web Access) page.
I had read about a gazillion places on the internet — and also from the last sentence in the emails, that I should be able to change this in the GUI.
But I had already done that
What really confused me, was that some of the invitations came as I expected
After almost giving up, and looking for other tools, I suddenly discovered this post. I gave it a shot, just to try something else. So I installed powershell (it is availale for Linux as well). To install it, you need to find the correct instructions for your OS. For Fedora it was a simple matter of
sudo rpm — import https://packages.microsoft.com/keys/microsoft.asccurl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.reposudo dnf check-updatesudo dnf install compat-openssl10sudo dnf install -y powershell
The the instructions did not work exactly as in the mentioned StackExchange post, but almost. First you need to install an extra module
sudo pwsh -Command 'Install-Module -Name PSWSMan'
sudo pwsh -Command 'Install-WSMan'
Then you can use the pwsh to edit the settings
$ pwsh
PS /home/olen> $UserCredential = Get-Credential
Enter your credentials
...PS /home/olen> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirectionPS /home/olen> $ImportResults = Import-PSSession $SessionPS /home/olen> Get-CASMailbox USERNAME | format-list *ForceIcal*,*UseProtocolDefaultsPopForceICalForCalendarRetrievalOption : True
ImapForceICalForCalendarRetrievalOption : True
PopUseProtocolDefaults : True
ImapUseProtocolDefaults : True
So, the “ImapForceICal…” was set to True, but apparently the “UseProtocolDefaults” overrides this setting, and was NOT updated when I changed the settings in the GUI.
So I had to change this setting as well
PS /home/olen> Set-CASMailbox USERNAME -PopUseProtocolDefaults:$FALSE -ImapUseProtocolDefaults:$FALSE -PopForceICalForCalendarRetrievalOption:$TRUE -ImapForceICalForCalendarRetrievalOption:$TRUEPS /home/olen> Get-CASMailbox USERNAME | format-list *ForceIcal*,*UseProtocolDefaultsPopForceICalForCalendarRetrievalOption : True
ImapForceICalForCalendarRetrievalOption : True
PopUseProtocolDefaults : False
ImapUseProtocolDefaults : False
Now, that should work, should it not? I was then on the brink of tears when it still did not work. I got a few more meeting invitations in Thunderbird, and they still only contained the dreaded OWA link.
Then it appeared to me that maybe this was because changing these settings only apply to new IMAP sessions. And since Thunderbird is using keepalive, it just keeps the session open. So I closed Thunderbird, made sure all processes were gone, and restarted, and lo and behold! All new meeting invitations started to appear with the attached iCal file.
But the old ones were still a mess, so I decided to close Thunderbird once again, then I deleted the whole cache:
$ rm -Rf /home/olen/.thunderbird/<UID>/ImapMail/<Account name>/*
After restarting Thunderbird again, all the invitations, even the old ones, contained the iCal invitaion, and was correctly parsed by Thunderbird.
But of course, it spent quite some time redownloading all messages etc.