We use Office 365 Exchange Online for our emails. Whilst you can configure CiviCRM outbound mail to use it, you can't actually send mail using it. I have done some investigation, and the reason is that packages/Mail/smtp.php replaces the From address with the Return-Path. CiviCRM adds a VERP component, so Exchange Online rejects the email because the From address is invalid. Exchange overwrites the Return-Path with the From address anyway, so VERP doesn't work.
Any comments or thoughts? I assume someone will say that we should use another Mail Transport Agent.