When configuring server-side-sync for CRM 2013, CRM 2015, or CRM 2016, by default if you want to specify credentials for the Email Server Profile or Mailbox, the fields will be disabled if your CRM is running on HTTP like my development server here. Since I have no intention of making this server use HTTPS, we need to get server side sync working on HTTP CRM.
As you can see, the Email Server Profile tells us that the server requires SSL before we can specify credentials, and that we need to allow setting credentials on a nonsecure channel.
We can also see below that if we try to specify credentials on the Email Server Profile, the User Name and Password are disabled, and on the Mailbox the radio button "Allow to Use Credentials for Email Processing" is disabled.
To allow CRM to store credentials on a HTTP connection we need to edit some values in the MSCRM_CONFIG database in SQL. The two values we need to update are 'AllowCredentialsEntryViaInsecureChannels' and 'ECAllowNonSSLEmail'. We can run the following SQL script against the MSCRM_CONFIG database to set these values to 'True':
Update DeploymentProperties Set BitColumn = 1 Where ColumnName = 'AllowCredentialsEntryViaInsecureChannels' Update DeploymentProperties Set BitColumn = 1 Where ColumnName = 'ECAllowNonSSLEmail'
Once that's done, perform an IISRESET for the changes to take effect. Then, refresh your Mailbox or Email Server Profile and you should be able to specify credentials.