GOOD NEWS!!!!
Thanks everyone for your suggestions and pointers. You gave me the inspiration to make a breakthrouth.
Below is a very elegant trick, all using tools within SAC. Looking back now I suspect it may have never been intended to be used this way by the guys at scalix, but it's doing a beautiful job, just like I wanted.
1) Very important: only one domain on the scalix server: "scalixserver.domain.com"
-> do not add "domain.com" in scalix, since this may be a canonical name for the primary server "oldserver.domain.com", as well as the primary MX entry in the DNS server
2) all scalix users have 2 entries: one as a Premium (or Standard User) and another as an *Internet User*
The typical format of a Premium looks like this:
"First Last" <first.last@scalixserver.domain.com>
"First Last" <userID@scalixserver.domain.com>
The typical format of an Internet looks like this:
"First Last" <first.last@domain.com>
"First Last" <userID@domain.com>
3) For all Premium users go to Contact info and click off [ ] Display in address book, and for the internet users be sure those are all checked.
This will ensure that only the "proper" email address is displayed to each users on the System Directory, therefore keeping scalix users to send email to the "wrong" address on
user@scalixserver.domain.com
4) We *only* have to worry about the actual users in the scalix server, and we don't have to do absolutely anything with the settings of users on the original mail server. We just have to put a .forward in the account that have already been migrated to the scalix with the following:
user
user@scalixserver
5) HOW DOES IT WORK?
i) Emails from the "outside"sent to any
user@domain.com account will remain on the original server. For the scalix users a copy will be forwarded to the scalix server.
ii) Emails sent from scalix users (of the form
user@scalixserver.domain.com) to the outside will be delivered directly (SMART_HOST no longer needed under this setup), but MASQUERADE envelope and localdomain.localhost as "domain.com" should enabled on the scalixserver sendmail.mc, so therecipients will see the normal
user@domain.com on their From-Reply-TO
iii) and most importantly, emails from scalix users send to "other scalix users" as well as non scalix users under the format "user@domain.com" (that you can now see from the pulldown menu on the systems contacts) will be delivered directly to the main server, since scalix doesn't see itself as the "owner" of the "domain.com" domain. For those scalix users with a .forward on the main server a copy will return to the scalix server and delivered to
user@scalixserver.domain.com, without any looping problem.
THIS IS THE BEST COMPROMISE YET!
The nice thing is that the DNS MX change pointing from the old server to the new scalix server will now be the last thing in the sequence of events, not the first anymore. That completely takes the onus and the worries of having to make sure the scalix server is working 100% from the begining.
The last step is to just add domain.com as the primary domain on the scalix server the day (or night) of the MX change, and delete all the *internet users* that are already "doubled" as premium users, something that can be done very quickly (not even 20 minutes for 50 users) and the migration is complete.
Here is the only hole in the process as I see during the transition period:
... how could I make the calendar of the "real" premium users (
user@scalixserver.domain.com) show up side by side from SWA or outlook, if the display address book if turned off for all of them? The "fake" users under
user@domain.com show up on the addressbook, but they are internet users, therefore don't have a calendar account? Well, in the big scheme of things this seems like a small problem now.
Again thanks for all the hints, and I hope this will be of help for some of the new scalix adopters out there, as well as the ones on a trial basis.
Jaime