There are two Unity families - regular Unity (which works on Windows and Exchange) and Unity Connection (a Linux appliance).
For regular Unity, MS Exchange is required as mail store. CUPC should always point to Exchange. But the GUI on CUPS refers this as "Unity Server". This is pretty confusing, especially in "Unfied Messaging" mode, where Unity server and Exchange are actually two different servers.
By default, IMAP service is disabled on Exchange. You'll have to go to Windows services to set the startup type to "Automatic" and start it. Please note the following difference between Exchange 2003 and 2007:
Exchange 2003 use IMAP over TCP (port 143) by default.
Exchange 2007 use IMAP over SSL (port 993) by default.
The bad thing about SSL is you cannot test it with telnet command. We'll talk about the workaround later.
For Exchange 2003, here's how to test the IMAP connection and login.
Each command begins with a number and a space. Though you may use any numbers and you may reuse the number, it's recommended you use unique, sequential numbers.
The first command we want to use is "capability". Pay attention to "LOGINDISABLED" in screen output. You usually saw that on Exchange 2007, which means LOGIN is disabled on TCP (available on SSL only). On Exchange you normally won't see that.
If you don't see "LOGINDISABLED", you may continue the test.
The next commend is "login JohnDoe pass123", where JohnDoe is the username you want to test and pass123 is the actually password. If you got a "OK", that means the username and password was correct.
As mentioned about, on Exchange 2007, LOGIN on TCP was disabled by default. To enable it, you run the following commands on in Exchange Management Shell:
Resart IMAP service after that.
Currently, CUPC does not support IMAP referral. Which means, if you have multiple mailbox servers, you have to enable IMAP service on each one and create multiple profiles on CUPS.