CanIt works with Office 365 as it does with any SMTP mail service; MX records for the domain are pointed to CanIt, and filtered mail is directed to the Office 365 server by configuring routing using Setup->Domain Routing in Canit. This routing address is initially filled with the one that you give us upon requesting the domain. You simply need to provide the MX records that are given to you in the O365 admin portal. These usually look something like:
After the domain has been provisioned, there are a handful of extra steps that are required to get Office 365 to conform to the standards that we expect, as discussed below.
Special Considerations for Office 365
One shortcoming of Office365 is that Microsoft doesn't provide external access to an Active Directory system and does not properly validate recipients via SMTP by default (this is the case for any Microsoft Exchange system). CanIt requires some method of recipient verification so that it doesn't end up accepting and billing for users that don't exist. Without changing anything in Office 365, you can work around this within CanIt by manually defining the list of possible recipients using Rules->Valid Recipients, and by enforcing the list with Preferences->Quarantine Settings->S-950. See below for better alternatives.
Options within the Office 365 portal
If you have access to the Office 365 management portal you should also be able to get valid recipient checks working correctly, allowing us to keep an up-to-date list of valid address automatically. This requires you to enable the Directory Based Edge Blocking (DBEB) feature. This is analogous to our Valid Recipient list, but will only then require you to keep the list current in one place. Instructions can be found here:
Finally, if you have your own external AD/LDAP which Office 365 is connecting to we can also use that for recipient verification, making the need for a SMTP-based verification process unnecessary. This is done using Setup->User Lookups and must be defined for use with Setup->Domain Mappings. This has the additional benefit of being able to detect existing aliases and to support authentication, as below.
Restricting Connections to CanIt
Office 365 should also allow you to restrict incoming connection from only select IP addresses so that no spam is able to bypass our filter. At the time of writing, it appears that this should be set under Email Protection->Setup->Inbound Servers. The IP addresses for Hosted customers are available from the My Domains->My Domains page of our WebUI.
Options within CanIt
Integration for User Authentication
If, as above, you do have AD/LDAP, you can also use it for authentication using Setup->Authentication Mappings.
Since most Office 365 users take advantage of the instance of AD provided in the cloud portal it is likely that you won't be able to use LDAP. However, Office 365 does provide a public POP3 and IMAP service which you may be able to use for authentication of users accessing the Canit webui using the Setup->User Lookups wizard. Some clients have reported success with the following settings:
POP3: outlook.office365.com/995 IMAP: outlook.office365.com
If these settings don't work, or if you have any other concerns about this integration, you will need to contact Microsoft for more information.
Supporting SPF Checks
Office 365 may checks for SPF results. As a result, any sender that has a valid SPF record will be flagged after it passes through us and has a possibility of being rejected since we are bound not to be included in those records.
For this reason, we strongly recommend enabling Sender Rewriting Scheme. In the default stream for your realm, go to Preferences : Quarantine Settings and set S-930 Enable SRS (Sender Rewriting Scheme) to Yes
This will allow us to re-write the sender address in such a way that the Office 365 will not flag the failed SPF checks. We also check for SPF records, so you will not lose any security as a result of this change.
Hosted CanIt offers outbound filtering support for Office 365 but as with all outbound filtering it needs to be requested on a per-domain basis, since it is a premium feature. This can be done with My Domains->Request Outbound Filtering by selecting Office 365 as the source. Once this is done, you need to set Hosted CanIt up as the outbound Connector using the information that is provided in the confirmation email that you will receive. As of the time of writing, this setting in Office 365 is located in the Exchange Admin Center under Mail Flow->Connectors.
For on-premise implementations, Outbound Filtering is not advised for Office 365 domains. It requires a significant level of setup and maintenance to allow only the desired relay connections from Mircosoft's ever-changing list of IP's. We have site-specific automations and custom code to handle this on Hosted which cannot be easily transferred to on-premise appliances.