Work uses O365 and I'm getting a little frustrated with OWA. Thinking about running a local email server to mirror O365. In the end, I want to keep my email in O365, but have a 2 way sync with a local imap server. Looks like I have a few options on the email server - dovecot/cyrus/stalwart. For the syncing, I just see mbsync. Any experience setting up something similar? Any other options other than what I listed?
Edit: IT knows what I'm doing. I'm not going to compromise any compliance requirements we have.
If I was in your IT department I'd be required to shut this down and probably revoke your access until our bosses decide on your future.
Keep in mind, your employer has a responsibility to protect their data and this would subject your homelab to any legal liabilities such as a lawsuit search order and data privacy auditing.
Any solution you work out needs to be signed off on in writing if it's outside their expected usage.
Another important point o365 requires oauth2 authentication unless your IT department has intentionally allowed other forms of authentication or they are in a hybrid legacy environment.
When they broke EWS and office 2010 compatibility they crippled many foss solutions without an additional license and the tools that do work will report details to exchange about your homelab. So if your department is diligent it'll come to their attention.
Oauth2 is being used as well as 2FA. We're not breaking any of that. My local email server will be running on company equipment. I already have ITs approval on this.
IMAP on O365 now requires "Modern Auth", which requires OAuth to authenticate access to mailboxes. Anything that connects via IMAP will need to be approved by the admins at this point (Including Thunderbird). Without the cooperation of your organization's IT team, you are not going to get far.
M365 is doing away with all legacy authentication, do not be surprised if IMAP is completely unusable in the next 12 months. If you simply want to keep a copy of everything, a store and forward SMTP proxy would probably be the solution, so all email going to your domain would hit that first, then send off to M365.
I use Evolution with the o365 account at work. All one needs is the EWS plugin and the company tenant ID. Evolution then pretends to be a generic MS Office app, using a well-known app ID. oauth2 works just fine.
Maybe, after a few months (or a year, as I may or may not have experienced) of "communication" you'll be allowed to use Thunderbird. Only for it to be suddenly blocked again later because some dude didn't understand why can't everyone just use Outlook.
And don't even dream of having a script to, say, sort and preprocess your mail.